Cod sursa(job #100697)

Utilizator raula_sanChis Raoul raula_san Data 12 noiembrie 2007 16:57:01
Problema Zvon Scor 0
Compilator cpp Status done
Runda Happy Coding 2007 Marime 0.77 kb
#include <cstdio>
#include <vector>

#define maxN 100001

using namespace std;

vector <int> V[maxN];

int T;
int N;

int Ti[maxN];

void df(int nod)
{
    int i, n;

    n = V[nod].size();

    for(i=0; i<n; ++i)
        df(V[nod][i]);

    Ti[nod] = n;

    for(i=0; i<n; ++i)
    {
        if(Ti[nod] < Ti[V[nod][i]] + 1)
            Ti[nod] = Ti[V[nod][i]] + 1;
    }

    V[nod].clear();
}

int main()
{
    freopen("zvon.in", "rt", stdin);
    freopen("zvon.out", "wt", stdout);

    int i, a, b;

    for(scanf("%d", &T); T; --T)
    {
        for(scanf("%d", &N), i=1; i<N; ++i)
        {
            scanf("%d %d", &a, &b);
            V[a].push_back(b);
            Ti[i] = 0;
        }

        Ti[N] = 0;
        df(1);

        printf("%d\n", Ti[1]);
    }

    return 0;
}