Pagini recente » Cod sursa (job #1898924) | Cod sursa (job #902571) | Cod sursa (job #1765854) | Cod sursa (job #2836213) | Cod sursa (job #3321575)
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
const int MAx_NODES=1e5;
vector<int>arb[MAx_NODES+5];
int viz[MAx_NODES+5];
int depth[MAx_NODES+5];
int Max_node;
int Max;
void find_leaf(int nod)
{
viz[nod]=1;
for(auto x:arb[nod])
{
if(!viz[x]){
depth[x]=depth[nod]+1;
if(depth[x]>Max){Max=depth[x];Max_node=x;}
find_leaf(x);
}
}
}
void reset(int nodes)
{
Max=0;
for(int i=1;i<=nodes;i++)
{
depth[i]=1;
viz[i]=0;
}
}
int main()
{
int n;
fin>>n;
for(int i=1;i<=n-1;i++)
{int x,y;
fin>>x>>y;
arb[x].push_back(y);
arb[y].push_back(x);
}
find_leaf(1);
reset(n);
find_leaf(Max_node);
fout<<Max;
return 0;
}