Pagini recente » Cod sursa (job #1947732) | Cod sursa (job #2235719) | Cod sursa (job #3204404) | Cod sursa (job #528534) | Cod sursa (job #2035631)
#include <fstream>
#include <vector>
using namespace std;
vector <int> gr[100010];
int levelmax = -1;
int best = -1;
bool viz[100010];
ifstream f("darb.in");
ofstream g("darb.out");
void dfs(int node, int lvl){
viz[node] = true;
if(lvl > levelmax){
levelmax = lvl;
best = node;
}
for(auto x : gr[node]) if(!viz[x]) dfs(x, lvl+1);
viz[node] = false;
}
int main(){
int n;
f >> n;
for(int i = 1; i <n; ++ i){
int a, b;
f >> a >> b;
gr[a].push_back(b);
gr[b].push_back(a);
}
dfs(1, 1);
levelmax = -1;
dfs(best, 1);
g << levelmax;
return 0;
}