Pagini recente » Cod sursa (job #351003) | Cod sursa (job #689616) | Cod sursa (job #2031458) | Cod sursa (job #290202) | Cod sursa (job #3218326)
#include <iostream>
#include <fstream>
#include <vector>
#include <deque>
#include <iomanip>
#define nmx 100005
using namespace std;
ifstream f ("darb.in");
ofstream g ("darb.out");
vector <int> v[nmx];
int n,a,b,vf[nmx];
void bfs (int source)
{
vf[source]=1;
deque <int> dq;
dq.push_back(source);
while (!dq.empty())
{
auto u=dq.front();
dq.pop_front();
for (auto it : v[u])
if (!vf[it])
{
vf[it]=vf[u]+1;
dq.push_back(it);
}
}
}
int main()
{
f>>n;
for (int i=1; i<=n; i++)
{
f>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
bfs(1);
int mx=0,st;
for (int i=1; i<=n; vf[i]=0,i++)
if (vf[i]>mx)
{
st=i;
mx=vf[i];
}
bfs(st);
mx=0;
for (int i=1;i<=n;i++)
mx=max(mx,vf[i]);
g<<mx;
}