Pagini recente » Cod sursa (job #1575380) | Cod sursa (job #427888) | Cod sursa (job #1346623)
#include <cstdio>
#include <algorithm>
#include <vector>
#include <cstring>
#define nmax 100100
#define pb push_back
using namespace std;
vector<int> a[nmax];
bool used[nmax];
int i, n, m, x, y, maxd, nodem;
void dfs(int node, int lvl)
{
vector<int>::iterator it;
used[node]=true;
for(it=a[node].begin(); it!=a[node].end(); it++)
if(!used[*it]) dfs(*it, lvl+1);
if(lvl>maxd)
maxd=lvl, nodem=node;
}
int main()
{
freopen("darb.in", "rt", stdin);
freopen("darb.out", "wt", stdout);
scanf("%d", &n);
for(i=1; i<n; ++i)
{
scanf("%d%d", &x, &y);
a[x].pb(y);
a[y].pb(x);
}
dfs(1, 0);
memset(used, false, sizeof(used));
dfs(nodem, 0);
printf("%d", maxd+1);
return 0;
}