Pagini recente » Cod sursa (job #2699219) | Cod sursa (job #2619421) | Cod sursa (job #1312501) | Cod sursa (job #2621598) | Cod sursa (job #1365018)
#include <cstdio>
#include <vector>
#include <cstring>
#define Nmax 100005
using namespace std;
int N;
vector<int> G[Nmax];
int used[Nmax],start,dmax;
void Read()
{
scanf("%d",&N);
int a,b;
for(int i = 1; i <= N; ++i){
scanf("%d%d",&a,&b);
G[a].push_back(b);
G[b].push_back(a);
}
start = 1;
}
void DFS(int k,int depth){
used[k] = 1;
if(depth > dmax){
dmax = depth;
start = k;
}
for(vector<int>::iterator it = G[k].begin(); it != G[k].end(); ++it)
if(!used[*it])
DFS(*it,depth+1);
}
int main()
{
freopen("darb.in","r",stdin);
freopen("darb.out","w",stdout);
Read();
DFS(start,1);
memset(used,0,sizeof(used));
DFS(start,1);
printf("%d\n",dmax);
return 0;
}