Pagini recente » Cod sursa (job #209050) | Cod sursa (job #2353348) | Cod sursa (job #2269799) | Cod sursa (job #1135269) | Cod sursa (job #2207128)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
struct nod
{ int info;
nod *urm;
} *g[100001];
void Addelem(nod *&prim,int info)
{ nod *q=new nod;
q->info=info;
q->urm=prim;
prim=q;
}
int viz[100001],nivel,maxi,nodmaxim;
void DFS(int x,int nivel)
{ viz[x]=1;
if(nivel>maxi) {maxi=nivel;nodmaxim=x;}
for(nod*p=g[x];p!=NULL;p=p->urm)
{
if(viz[p->info]==0)
{
DFS(p->info,nivel+1);
}
}
viz[x]=0;
}
int main()
{
int n;int i,x,y;
fin>>n;
for(i=1;i<=n-1;i++)
{fin>>x>>y;
Addelem(g[x],y);
Addelem(g[y],x);
}
// fout<<g[1]->info;
DFS(1,1);
// cout<<maxi;
maxi=0;
// for(i=1;i<=n;i+)
DFS(nodmaxim,1);
fout<<maxi;
return 0;
}