Pagini recente » Cod sursa (job #3125294) | Cod sursa (job #668613) | Cod sursa (job #2072177) | Cod sursa (job #2981742) | Cod sursa (job #2285638)
#include<fstream>
#include <iostream>
#include <vector>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int v[100010],c[100010],lng[100010],i,a,b,mx,n;
vector <int> L[100010];
void bfs(int start){
v[start]=1;
c[1]=start;
int p=1, u=1;
while(p<=u){
// cout<<1;
int nod=c[p];
for(i=0;i<L[nod].size();i++){
int vecin=L[nod][i];
if(v[vecin]==0){
c[++u]=vecin;
lng[vecin]=lng[nod]+1;
v[vecin]=1;
}
}
p++;
}
}
int main(){
fin>>n;
for(i=1;i<n;i++){
fin>>a>>b;
L[a].push_back(b);
L[b].push_back(a);
}
bfs(1);
mx=c[n];
// fout<<mx;
//cout<<lng[c[n]];
for(i=1;i<=n;i++){
lng[i]=0;
v[i]=0;
}
bfs(mx);
fout<<lng[c[n]]+1;
return 0;
}