Pagini recente » Cod sursa (job #1927976) | Cod sursa (job #2513312) | Cod sursa (job #355657) | Cod sursa (job #657829) | Cod sursa (job #2461570)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin ("darb.in");
ofstream cout ("darb.out");
vector <int> v[100005];
int viz[100005],cnt,q[100005],n;
int bfs (int nod)
{
cnt=1;
int st=1,dr=1;
q[st]=nod;
for(int i=1;i<=n;++i)
viz[i]=0;
viz[nod]=1;
while(st<=dr)
{
int nc=q[st++];
for(int i=0;i<v[nc].size();++i)
{
int nn=v[nc][i];
if(!viz[nn])
{
viz[nn]=1+viz[nc];
q[++dr]=nn;
}
}
}
return q[dr];
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
long long i,j,m,k=0,t,s=0,rz=0,fva=0,fvb=0;
cin>>n;
for(i=1;i<n;++i)
{
int a,b;
cin>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
int nod1=bfs(1);
int nod2=bfs(nod1);
cout<<viz[nod2];
return 0;
}