Pagini recente » Cod sursa (job #1935388) | Cod sursa (job #1382410) | Cod sursa (job #2698292) | Cod sursa (job #982070) | Cod sursa (job #1198310)
#include <cstdio>
#include <vector>
#include <cstring>
#define MAX 100001
using namespace std;
vector <int> lista[MAX];
int n, v[MAX], nr, nodul;
void dfs(int nod, int k);
int main()
{
freopen("darb.in", "r", stdin);
freopen("darb.out", "w", stdout);
int i, x, y;
scanf("%d", &n);
for(i=1; i<n; ++i)
{
scanf("%d%d", &x, &y);
lista[x].push_back(y);
lista[y].push_back(x);
}
dfs(1, 0);
memset(v, 0, (n+1)*sizeof(int));
dfs(nodul, 0);
printf("%d", nr+1);
}
void dfs(int nod, int k)
{
if(k>nr)
nr=k, nodul=nod;
v[nod]=1;
for(int i=0; i<lista[nod].size(); ++i)
if(!v[lista[nod][i]])
dfs(lista[nod][i],k+1);
}