Cod sursa(job #1424981)

Utilizator AndreiBadeciAndrei Badeci AndreiBadeci Data 26 aprilie 2015 09:15:18
Problema Zvon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <vector>
#include <algorithm>
#define MAX 100003
using namespace std;

ifstream fin("sate.in");
ofstream fout("sate.out");

vector <int> la[MAX];

int n,d[MAX],t;

bool cmp(int a, int b)
{
    return d[a]>d[b];
}

void citire()
{
    fin>>n;
    for(int i=1;i<n;i++)
    {
        int a,b;
        fin>>a>>b;
        la[a].push_back(b);
    }
}

void DFS(int nod)
{
    for(int i=0;i<la[nod].size();i++)
        DFS(la[nod][i]);
    sort(la[nod].begin(),la[nod].end(),cmp);
    for(int i=0;i<la[nod].size();i++)
        d[nod]=max(d[nod],d[la[nod][i]]+i+1);
}

int main()
{
    fin>>t;
    while(t--)
    {
        citire();
        DFS(1);
        fout<<d[1]<<'\n';
        for(int i=1;i<=n;i++){
            d[i]=0;
            la[i].clear();
        }
    }
}