Pagini recente » Cod sursa (job #1755896) | Cod sursa (job #2852479) | Cod sursa (job #1374176) | Cod sursa (job #304239) | Cod sursa (job #2488183)
#include <iostream>
#include <set>
#include <fstream>
#include <cstring>
#include <queue>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
set <int> v[100004];
int n;
int uz[100004];
queue <int> q;
int bfs(int nod){
q.push(nod);
uz[nod] = 1;
while(!q.empty())
{
nod = q.front();
q.pop();
for(auto i:v[nod])
if(!uz[i])
{
uz[i]=uz[nod]+1;
q.push(i);
}
}
return nod;
}
int main()
{
int a, b;
fin>>n;
for(int i =1; i<n ;i++)
{
fin>>a>>b;
v[a].insert(b);
v[b].insert(a);
}
int k = bfs(1);
memset(uz, 0, sizeof(uz));
k = bfs(k);
fout<<uz[k];
}