Pagini recente » Cod sursa (job #1854063) | Cod sursa (job #1738311) | Cod sursa (job #296194) | Cod sursa (job #1735423) | Cod sursa (job #2310491)
#include <bits/stdc++.h>
/// TONI BO$$ was here
/// #MLC
using namespace std;
vector <int> G[21001];
int f[21001];
void bfs(int i)
{
queue <int> q;
f[i]=1;
q.push(i);
while(!q.empty())
{
int z=q.front();
q.pop();
for(auto it : G[z])
if(!f[it])
{
f[it]=f[z]+1;
q.push(it);
}
}
}
int main()
{
int t,n,m,x,y,i,p,maxdist;
freopen("darb.in","r",stdin);
freopen("darb.out","w",stdout);
scanf("%d",&n);
for(i=1; i<n; i++)
{
scanf("%d%d",&x,&y);
G[x].push_back(y);
G[y].push_back(x);
}
for(i=1; i<=n; i++)
f[i]=0;
bfs(1);
p=0,maxdist=0;
for(i=2; i<=n; i++)
if(maxdist<f[i])
{
maxdist=f[i];
p=i;
}
for(i=1; i<=n; i++)
f[i]=0;
bfs(p);
maxdist=0;
for(i=1; i<=n; i++)
if(i!=p && maxdist<f[i])
maxdist=f[i];
printf("%d\n",maxdist);
for(i=1; i<=n; i++)
G[i].clear();
return 0;
}