Pagini recente » Cod sursa (job #681464) | Cod sursa (job #777508) | Cod sursa (job #1280912) | Cod sursa (job #2175552) | Cod sursa (job #2196468)
#include <bits/stdc++.h>
#define DM 100005
#define pb push_back
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
bitset<DM>viz;
vector<int>v[DM];
int n,x,y,dist[DM],mx;
void dfs(int nod){
viz[nod]=1;
int mx1=0,mx2=0;
for(auto i:v[nod]){
if(!viz[i]) dfs(i);
if(mx1<dist[i]) mx2=mx1,mx1=dist[i];
else if(mx2<dist[i]) mx2=dist[i];
}
dist[nod]=mx1+1;
mx=max(mx,mx1+mx2+1);
}
int main()
{
fin>>n;
for(int i=1;i<n;++i){
fin>>x>>y;
v[x].pb(y);
v[y].pb(x);
}
dfs(1);
fout<<mx;
return 0;
}