Pagini recente » Cod sursa (job #552450) | Cod sursa (job #705831) | Cod sursa (job #2633332) | Cod sursa (job #2270055) | Cod sursa (job #1914405)
#include <cstdio>
#include <vector>
using namespace std;
vector <int> muchii[100001];
int maxim=0,maxim1=0;
void DFS(int x,int pass,int val)
{
if (val>maxim) maxim=val, maxim1=x;
int l=muchii[x].size();
for (int i=0;i<l;++i)
if (muchii[x][i]!=pass)
DFS(muchii[x][i],x,val+1);
}
int main()
{
freopen("darb.in","r",stdin);
freopen("darb.out","w",stdout);
int n;
scanf("%d",&n);
for (int i=1;i<n;++i)
{
int a,b;
scanf("%d %d\n",&a,&b);
muchii[a].push_back(b);
muchii[b].push_back(a);
}
DFS(1,0,1);
int nr=maxim1;
maxim1=0, maxim=0;
DFS(nr,0,1);
printf("%d",maxim);
return 0;
}