Pagini recente » Cod sursa (job #2708107) | Cod sursa (job #635862) | Cod sursa (job #2661761) | Cod sursa (job #2982581) | Cod sursa (job #1120611)
#include <fstream>
using namespace std;
int n,vfin,lmax=-1,a,b,viz[100003],i,d;
struct nod
{
int v;
nod *urm;
}*p,*LA[100003];
void df(int vf,int d)
{
nod *p;
viz[vf]=d;
if(lmax<d)
{
lmax=d;
vfin=vf;
}
for(p=LA[vf];p;p=p->urm)
{
if(viz[p->v]==0)
{
df(p->v, d+1);
}
}
}
void init(int viz[])
{
int i;
for(i=1;i<=n;i++)
viz[i]=0;
}
int main()
{
ifstream fin("darb.in");
ofstream fout("darb.out");
fin>>n;
for(i=1;i<n;++i)
{
fin>>a>>b;
p=new nod;
p->v=b;
p->urm=LA[a];
LA[a]=p;
p=new nod;
p->v=a;
p->urm=LA[b];
LA[b]=p;
}
lmax=0;
df(1,1);
init(viz);
lmax=0;
df(vfin,1);
fout<<lmax;
fout.close();
return 0;
}