Cod sursa(job #1511885)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 27 octombrie 2015 11:44:35
Problema Zvon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <vector>
#include <fstream>
#include <algorithm>
#define DIM 100005

using namespace std;

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

int N, T, s[DIM];
int a[DIM];
vector <int> v[DIM];

void dfs(int x){

    s[x]=0;
    int k =0;
    for(std::vector <int>::iterator it=v[x].begin();it!=v[x].end();it++){
        dfs(*it);
        a[++k] = s[*it];
    }

    if(k){
        sort(a + 1, a + k + 1);
        for(int i=k;i>=1;i--)
            s[x] = max(s[x], a[i] + (k-i+1));
    }



}
int main(){
    fin >> T;

    while(T--){

        fin >> N;

        for(int i=1;i<=N;i++){
            v[i].clear();
            s[i]=0;
        }

        for(int i=1;i<N;i++){
            int x,y;
            fin >> x >> y;
            v[x].push_back(y);
        }

        dfs(1);

        fout << s[1] << "\n";
    }
}