Pagini recente » Rating Cretu Ana-Maria (cretuana) | Monitorul de evaluare | Cod sursa (job #819740) | Statistici Muntean Natan (eden001) | Cod sursa (job #1967898)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int cost,m,o;
struct graf{
int nod;
graf*urm;
}*a[100001];
void add(int x,int y){
graf*f=new graf;
f->nod=y;
f->urm=a[x];
a[x]=f;
}
void dfs(bool* &v,int k){
v[k]=true;
cost++;
if(cost>m){
m=cost;
o=k;
}
graf*f;
f=a[k];
while(f){
if(!v[f->nod])dfs(v,f->nod);
f=f->urm;
}
cost--;
}
int main(){
int n,i,x,y;
fin>>n;
bool* viz=new bool[n+1];
for(i=1;i<n;i++){
fin>>x>>y;
add(x,y);
add(y,x);
}
for(i=1;i<n;i++)viz[i]=false;
dfs(viz,1);
cost=0;m=0;
for(i=1;i<n;i++)viz[i]=false;
dfs(viz,o);
fout<<m;
return 0;
}