Pagini recente » Cod sursa (job #179492) | Cod sursa (job #71465) | Cod sursa (job #2272730) | Cod sursa (job #2575440) | Cod sursa (job #98398)
Cod sursa(job #98398)
using namespace std;
#include <cstdio>
#include <string>
#include <cassert>
#include <vector>
#include <algorithm>
#define FIN "zvon.in"
#define FOUT "zvon.out"
#define NMAX 100001
#define INF 0x3f3f3f3f
#define pb push_back
vector <int> fi[NMAX], viz;
int N, Nf[NMAX], s[NMAX];
void df (int nod)
{
int i, j;
s[nod] = 0;
for (i = 0; i < Nf[nod]; ++ i)
df (fi[nod][i]);
for (i = 0; i < Nf[nod]; ++ i)
viz.pb(s[fi[nod][i]]);
sort (viz.rbegin(), viz.rend());
for (j = 0; j < Nf[nod]; ++ j)
if (s[nod] <= viz[j] + j + 1)
s[nod] = viz[j] + j + 1;
}
void read ()
{
int T, i, x, y;
scanf ("%d\n", &T);
while (T--)
{
memset (Nf, 0, sizeof (Nf));
for (i = 1; i <= N; ++ i)
fi[i].clear();
scanf ("%d\n", &N);
for (i = 1; i < N; ++ i)
{
scanf ("%d %d\n", &x, &y);
fi[x].pb (y);
++ Nf[x];
}
df (1);
printf ("%d\n", s[1]);
}
}
int
main ()
{
freopen (FIN, "rt", stdin);
freopen (FOUT, "wt", stdout);
read ();
return 0;
}