Pagini recente » Cod sursa (job #2564708) | Cod sursa (job #341636) | Cod sursa (job #627314) | Cod sursa (job #2099041) | Cod sursa (job #2444066)
#include <bits/stdc++.h>
using namespace std;
ifstream inf("darb.in");
ofstream outf("darb.out");
const int N=100010;
int n, sol, lst;
vector<int> v[N];
vector<int> cont(N, 0);
vector<bool> vis(N);
void bfs(int );
int main()
{
inf>>n;
for(int i=1; i<=n; i++)
{
int x, y;
inf>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
bfs(1);
bfs(lst);
outf<<sol;
return 0;
}
void Clear()
{
for(int i=1; i<N; i++)
cont[i]=0,vis[i]=false;
}
void bfs(int st)
{
Clear();
queue<int> q;
q.push(st);
vis[st]=1;
cont[st]=1;
while(!q.empty())
{
int x=q.front();
q.pop();
for(auto it:v[x])
{
if(!vis[it])
{
vis[it]=1;
cont[it]=cont[x]+1;
lst=it;
sol=cont[it];
q.push(it);
}
}
}
}