Pagini recente » Cod sursa (job #3260177) | Cod sursa (job #2427885) | Cod sursa (job #2560661) | Cod sursa (job #1553093) | Cod sursa (job #3228771)
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>
using namespace std;
vector <int> v[100001];
queue <int> q;
int n, a, b, vd[100001];
ifstream fin("darb.in");
ofstream fout("darb.out");
int bfs()
{
int p;
while(!q.empty())
{
p = q.front();
q.pop();
for(auto x : v[p])
{
if(vd[x] == 0)
{
q.push(x);
vd[x] = vd[p] + 1;
}
}
if(q.empty())
return p;
}
}
void rst()
{
for(int i = 1; i<=100000; i++)
vd[i] = 0;
}
int main()
{
fin>>n;
for(int i = 1; i<=n-1; i++)
{
fin>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
q.push(1);
vd[1] = 1;
q.push(bfs());
rst();
vd[q.front()] = 1;
int z = bfs();
fout<<vd[z];
}