Pagini recente » Cod sursa (job #1350290) | Cod sursa (job #3326880) | Cod sursa (job #2100786) | Cod sursa (job #2116880) | Cod sursa (job #3348220)
#include <fstream>
#include <vector>
#include <math.h>
using namespace std;
ifstream fin ("darb.in");
ofstream fout ("darb.out");
const int mxN = 1e5 + 1;
vector<int> G[mxN];
int drum[mxN], ans = 0;
void DFS(int nod){
for(int x : G[nod]){
if(!drum[x]){
drum[x] = drum[nod] + 1;
if(drum[ans] < drum[x])
ans = x;
DFS(x);
}
}
}
int main(){
int n;
fin >> n;
for(int i = 2; i <= n; i++){
int a, b;
fin >> a >> b;
G[a].push_back(b);
G[b].push_back(a);
}
drum[1] = 1;
DFS(1);
for(int i = 1; i <= n; i++)
drum[i] = 0;
drum[ans] = 1;
DFS(ans);
fout << drum[ans];
}