Pagini recente » Cod sursa (job #1739568) | Cod sursa (job #2268913) | Cod sursa (job #3192689) | Cod sursa (job #1202466) | Cod sursa (job #2297276)
#include <bits/stdc++.h>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
const int N = 100010;
int n,x,y,i,k,sol,diam[N],Q[N];
vector<int> v[N];
void bfs(int);
int main()
{
f>>n;
for(i=1; i<n; i++)
{
f>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
bfs(1);
bfs(Q[n]);
g<<diam[Q[n]];
return 0;
}
void bfs(int nod)
{
fill(diam+1,diam+n+1,0);
Q[1]=nod;
diam[nod]=1;
for(int lo=1,hi=1;lo<=hi;lo++)
{
for(auto vec:v[Q[lo]])
if(!diam[vec])
{
diam[vec]=diam[Q[lo]]+1;
Q[++hi]=vec;
}
}
}