Pagini recente » Monitorul de evaluare | Cod sursa (job #3361100) | Monitorul de evaluare | Cod sursa (job #3360420) | Cod sursa (job #3360278)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("darb.in");
ofstream cout("darb.out");
const int maxn=1e5+5;
vector<int>adj[maxn];
int d[maxn];
int mx=1,a;
void dfs(int nod,int ant){
for(auto e:adj[nod]){
if(e==ant) continue;
d[e]=d[nod]+1;
if(d[e]>mx){
mx=d[e];
a=e;
}
dfs(e,nod);
}
}
int main()
{
int n;
cin>>n;
for(int i=1;i<n;i++){
int a,b;
cin>>a>>b;
adj[a].push_back(b);
adj[b].push_back(a);
}
d[1]=1;
dfs(1,0);
for(int i=1;i<=n;i++) d[i]=0;
d[a]=1;
mx=1;
dfs(a,0);
cout<<mx;
return 0;
}