Pagini recente » Cod sursa (job #2447643) | Cod sursa (job #1627268) | Cod sursa (job #636685) | Cod sursa (job #1142328) | Cod sursa (job #2203102)
#include <bits/stdc++.h>
#define N_MAX 100005
using namespace std;
ifstream in("darb.in");
ofstream out("darb.out");
vector <int> lista[N_MAX];
int n,v[N_MAX];
bool ap[N_MAX];
void DFS(int k)
{
for(int i=0; i<lista[k].size(); i++)
{
int vecin=lista[k][i];
if(!v[vecin])
{
v[vecin]=v[k]+1;
DFS(vecin);
}
}
}
void prepare()
{
int ma=0,p=-1;
for(int i=1; i<=n; i++)
{
if(v[i]>ma)
{
ma=v[i];
p=i;
}
v[i]=0;
}
v[p]=1;
DFS(p);
}
void citire()
{
in >> n;
for(int i=1; i<n; i++)
{
int x,y;
in >> x >> y;
lista[x].push_back(y);
lista[y].push_back(x);
}
}
void afis()
{
int ma=0;
for(int i=1; i<=n; i++)
{
if(v[i]>ma)
ma=v[i];
}
out << ma;
}
int main()
{
citire();
v[1]=1;
DFS(1);
prepare();
afis();
return 0;
}