Pagini recente » Cod sursa (job #2682510) | Cod sursa (job #1455418) | Cod sursa (job #668387) | Cod sursa (job #2660226) | Cod sursa (job #3291286)
#include<bits/stdc++.h>
using namespace std;
ifstream in("darb.in");
ofstream out("darb.out");
int n,nod,vmax=-1;
vector<vector<int>>muchii(100001,vector<int>(0));
vector<bool>parcurs(100001);
vector<int>distanta(100001,0);
void dfs(int x)
{for(auto k:muchii[x])
if(!parcurs[k])
{parcurs[k]=1;
distanta[k]=distanta[x]+1;
if(vmax<distanta[k])vmax=distanta[k],nod=k;
dfs(k);
}
}
int main()
{in>>n;
int x,y;
for(int i=1;i<n;i++)
{in>>x>>y;
muchii[x].push_back(y);
muchii[y].push_back(x);
}
parcurs[1]=1;
dfs(1);
int nod1=nod;
parcurs=vector<bool>(100001,0);
distanta[nod1]=0;
vmax=0;
dfs(nod1);
out<<vmax+1;
}