Pagini recente » Cod sursa (job #1263229) | Cod sursa (job #771187) | Cod sursa (job #2246679) | Cod sursa (job #2746886) | Cod sursa (job #1568808)
#include <fstream>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
vector<int> v[100010];
int n,i,j,k,a,sol,niv[100010];
void dfs(int,int);
int main()
{
f>>n;
for(i=2;i<=n;i++)
{
f>>j>>k;
v[j].push_back(k);
v[k].push_back(j);
}
dfs(1,1);
for(i=1;i<=n;i++)
{
if(niv[i]>niv[a])
a=i;
niv[i]=0;
}
dfs(a,1);
for(i=1;i<=n;i++)
sol=max(sol,niv[i]);
g<<sol;
return 0;
}
void dfs(int nod,int nivel)
{
niv[nod]=nivel;
for(auto it:v[nod])
if(!niv[it])
dfs(it,nivel+1);
}