Pagini recente » Cod sursa (job #1735544) | Cod sursa (job #1574549) | Cod sursa (job #2016972) | Cod sursa (job #2367766) | Cod sursa (job #2011033)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#define ll long long
using namespace std;
ifstream in("darb.in");
ofstream out("darb.out");
int n,cost[nmax],a,b,start,mx,dm[nmax];
vector<int> vecini[nmax];
queue<int> q;
const ll nMax = 100005;
int bfs(int x,int v[])
{
q.push(x);
v[x]=1;
while(!q.empty())
{
start=q.front();
mx=start;
q.pop();
for(int i=0;i<vecini[start].size();i++)
{
if(!v[vecini[start][i]])
{
v[vecini[start][i]]=v[start]+1;
q.push(vecini[start][i]);
}
}
}
}
int main() {
int n
in>>n;
for(int i=1;i<=n;i++)
{
in>>a>>b;
vecini[a].push(b);
vecini[b].push(a);
}
bfs(1,cost);
bfs(mx,dm);
out<<dm[mx];
return 0;
}