Pagini recente » Cod sursa (job #3212341) | Cod sursa (job #2092575) | Cod sursa (job #937723) | Cod sursa (job #2639308) | Cod sursa (job #2195659)
#include <iostream>
#include<fstream>
using namespace std ;
ifstream f("darb.in") ;
ofstream g("darb.out") ;
int a[10001][10001],n,v[100001],niv[100001] ;
int dfs(int nod,int nr)
{
int i ;
v[nod]=1 ;
if(nr==n) return nod ;
else for(i=1;i<=n;i++) if(a[i][nod]==1&&v[i]==0) dfs(i,nr+1) ;
}
int dfs1(int nod)
{
int i ;
v[nod]=1 ;
for(i=1;i<=n;i++) if(v[i]==0&&a[nod][i]==1) {niv[i]=niv[nod]+1 ;
dfs1(i) ;}
}
int main()
{ int x,y,i ;
f>>n ;
for(i=1;i<=n-1;i++){f>>x>>y ;
a[x][y]=1 ;
a[y][x]=1 ;
}
x=dfs(1,1) ;
for(i=1;i<=n;i++) v[i]=0 ;
niv[x]=1 ;
dfs1(x) ;
int maxi=0 ;
for(i=1;i<=n;i++) if(niv[i]>maxi) maxi=niv[i] ;
g<<maxi ;
}