Pagini recente » Cod sursa (job #2635691) | Cod sursa (job #3208793) | Cod sursa (job #109206) | Cod sursa (job #110358) | Cod sursa (job #106993)
Cod sursa(job #106993)
#include <stdio.h>
#include <algorithm>
#include <vector>
using namespace std;
#define MAX_N 100005
#define FIN "zvon.in"
#define FOUT "zvon.out"
#define pb push_back
int T, N;
vector<int> G[MAX_N];
int solve(int n)
{
vector<int> V;
vector<int>::iterator it;
int ret = 0;
for (it = G[n].begin(); it != G[n].end(); ++it)
V.pb(-solve(*it));
sort(V.begin(), V.end());
int cnt = 1;
for (it = V.begin(); it != V.end(); ++it, ++cnt)
ret = max(ret, cnt-*it);
return ret;
}
int main(void)
{
int i, a, b;
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
for (scanf("%d", &T); T; --T)
{
scanf("%d", &N);
for (i = 1; i <= N; ++i)
G[i].clear();
for (i = 1; i < N; ++i)
{
scanf("%d %d", &a, &b);
G[a].pb(b);
}
printf("%d\n", solve(1));
}
return 0;
}