Pagini recente » Cod sursa (job #1305007) | Cod sursa (job #1955094) | Cod sursa (job #654508) | Cod sursa (job #574282) | Cod sursa (job #2786154)
#include <bits/stdc++.h>
#define nod first
#define h second
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
vector<int> adj[100001];
int n;
bool vis[100001];
pair<int,int> dfs(pair<int,int> pt)
{
vis[pt.nod]=1;
pair<int,int> mx=pt;
for(auto e:adj[pt.nod])
{
if(!vis[e])
{
pair<int,int> newmx=dfs({e,pt.h+1});
if(newmx.h>mx.h) mx=newmx;
}
}
return mx;
}
int main()
{
f>>n;
for(int i=0;i<n-1;i++)
{
int a,b; f>>a>>b;
adj[a].push_back(b);
adj[b].push_back(a);
}
int a=dfs({1,0}).nod;
for(int i=1;i<=n;i++) vis[i]=0;
int ans=dfs({a,0}).h;
g<<ans+1;
return 0;
}