Pagini recente » Cod sursa (job #1878685) | Cod sursa (job #2864126) | Cod sursa (job #1266679) | Cod sursa (job #2059096) | Cod sursa (job #3327987)
#include <bits/stdc++.h>
#define nmax 200000
using namespace std;
#define cin fin
#define cout fout
ifstream cin("darb.in");
ofstream cout("darb.out");
vector<int> gf[nmax];
int n, x, y, imax, l[nmax], viz[nmax];
void dfs(int nod, int len)
{
viz[nod]=1;
l[nod]=len;
for(auto nnod : gf[nod])
if(!viz[nnod])
dfs(nnod,len+1);
}
int main()
{
cin>>n;
for(int i=1; i<n; i++)
{
cin>>x>>y;
gf[x].push_back(y);
gf[y].push_back(x);
}
dfs(1,0); // plec din radacina
int lmax=-1;
for(int i=1; i<=n; i++)
if(l[i]>lmax)
{
imax=i;
lmax=l[i];
}
for(int i=1; i<=n; i++)
l[i]=viz[i]=0;
dfs(imax,1);
int newmax=-1;
for(int i=1; i<=n; i++)
if(l[i]>newmax)
newmax=l[i];
cout<<newmax;
}