Pagini recente » Cod sursa (job #491079) | Cod sursa (job #3292874) | Cod sursa (job #1795869) | Cod sursa (job #910830) | Cod sursa (job #1128093)
#include<fstream>
#include<vector>
using namespace std;
ifstream in("darb.in"); ofstream out("darb.out");
vector <int> l[100005];
bool viz[100005];
int d[100005];
int dmax,maxim,x,y,n;
void dfs(int nod){
viz[nod]=1;
if(dmax<d[nod]){dmax=d[nod]; maxim=nod;}
for(vector <int> :: iterator it=l[nod].begin(); it!=l[nod].end(); ++it){
if(!viz[(*it)]){
d[(*it)]=d[nod]+1;
dfs((*it));
}
}
}
int main(){
in>>n;
for(int i=2;i<=n;++i){
in>>x>>y;
l[x].push_back(y);
l[y].push_back(x);
}
d[1]=1;
dfs(1);
for(int i=1;i<=n;++i){ viz[i]=0; d[i]=0;}
d[maxim]=1;
dfs(maxim);
out<<maxim<<'\n';
out.close();
return 0;
}