Pagini recente » Cod sursa (job #1101514) | Cod sursa (job #644553) | Cod sursa (job #381946) | Cod sursa (job #2522491) | Cod sursa (job #3240014)
#include <bits/stdc++.h>
using namespace std;
ifstream in("darb.in");
ofstream out("darb.out");
const int nmax=1e5;
vector <int> graph[nmax+1], dist;
bitset <nmax> vis;
int n;
int ans, last;
void dfs(int nod)
{
for(int it:graph[nod])
{
if(dist[it]==0)
{
dist[it]=dist[nod]+1;
if(dist[it]>ans)
{
ans=dist[it];
last=it;
}
dfs(it);
}
}
}
int main()
{
int x, y;
in>>n;
for(int i=1; i<=n; i++)
{
in>>x>>y;
graph[x].push_back(y);
graph[y].push_back(x);
}
dist.assign(n, 0);
dist[1]=1;
dfs(1);
//out<<ans<<'\n';
ans=0;
fill(dist.begin(), dist.end(), 0);
dist[last]=1;
dfs(last);
out<<ans;
}
//distanta maxima de la 1 la orice altcv+dist max de la acel ceva la orice altceva