Pagini recente » Cod sursa (job #616185) | Cod sursa (job #72146) | Cod sursa (job #72763) | Cod sursa (job #2500783) | Cod sursa (job #1102855)
#include <fstream>
#include <vector>
#define MAXN 100005
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int n,a,b,x,lvl[MAXN],tata[MAXN],mx,nod;
vector<int> G[MAXN];
void DFS(int p);
int main()
{
int i;
f>>n;
for(i=1;i<n;i++){
f>>a>>b;
G[a].push_back(b);
G[b].push_back(a);}
mx=0;
DFS(1);
lvl[nod]=tata[nod]=mx=0;
DFS(nod);
g<<mx+1<<'\n';
f.close();
g.close();
return 0;
}
void DFS(int p){
int i;
if(lvl[p]>mx){
mx=lvl[p];
nod=p;}
for(i=0;i<G[p].size();i++){
x=G[p][i];
if(tata[p]==x)
continue;
tata[x]=p;
lvl[x]=lvl[p]+1;
DFS(x);}}