Pagini recente » Cod sursa (job #301750) | Cod sursa (job #178011) | Cod sursa (job #364436) | Cod sursa (job #2958909) | Cod sursa (job #2483673)
#include <bits/stdc++.h>
using namespace std;
ifstream in("darb.in");
ofstream out("darb.out");
const int N=1e5+2;
int n,i,x,y,len,pos;
int d[N],f[N];
vector<int>G[N];
void DFS(int nod)
{
f[nod]=1;
vector<int>::iterator it;
for(it=G[nod].begin(); it<G[nod].end(); it++)
if(f[*it]==0)
{
d[*it]=d[nod]+1;
if(d[*it]>len) len=d[*it],pos=*it;
DFS(*it);
}
}
int main()
{
in>>n;
for(i=1; i<n; i++)
{
in>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
DFS(1);
memset(d,0,sizeof(d));
memset(f,0,sizeof(f));
len=0;
DFS(pos);
out<<len+1;
}