Pagini recente » Cod sursa (job #3123257) | Cod sursa (job #875291) | Cod sursa (job #407492) | Cod sursa (job #1782996) | Cod sursa (job #2198241)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
struct nod
{
int vf;
nod *urm;
};
nod *v[100002];
long long n,viz[100002],c[100002],k;
void citire()
{
fin>>n;
long long i,x,y;
nod *p,*q;
for(i=1;i<=n;++i)
v[i]=NULL;
while(fin>>x>>y)
{
p=new nod;
p->vf=x;
p->urm=v[y];
v[y]=p;
q=new nod;
q->vf=y;
q->urm=v[x];
v[x]=q;
}
}
long long bf(long long x)
{
long long p,u,i,vf1;
nod *q;
for(i=1;i<=n;++i)
viz[i]=0;
p=u=1;
c[p]=x;
viz[x]=1;
while(p<=u)
{
x=c[p++];
for(q=v[x];q;q=q->urm)
{
vf1=q->vf;
if(viz[vf1]==0)
{
c[++u]=vf1;
viz[vf1]=viz[x]+1;
}
}
}
k=viz[c[u]];
return c[u];
}
int main()
{
citire();
bf(bf(1));
fout<<k;
return 0;
}