Pagini recente » Cod sursa (job #7011) | Cod sursa (job #20505) | Cod sursa (job #6641) | Cod sursa (job #756251) | Cod sursa (job #1389577)
#include<fstream>
#include<vector>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int n,viz[100001],max1,aux,x,y;
vector<int>a[100001];
void dfs(int nod,int nivel,int &max1,int &aux){
if(max1<nivel) {max1=nivel,aux=nod;}
for(int i=0;i<a[nod].size();i++)
if(viz[a[nod][i]]==viz[0]) viz[a[nod][i]]=!viz[0],dfs(a[nod][i],nivel+1,max1,aux);
}
int main(){
f>>n;
for(int i=1;i<=n-1;i++){
f>>x>>y;
a[x].push_back(y);
a[y].push_back(x);
}
viz[0]=0;
viz[1]=1;
dfs(1,0,max1,aux);
viz[0]=1;
dfs(aux,1,max1,n);
g<<max1;
return 0;
}