Cod sursa(job #1805430)

Utilizator alittlezzCazaciuc Valentin alittlezz Data 13 noiembrie 2016 19:45:49
Problema Zvon Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <cstdio>
#include <queue>
#include <algorithm>
using namespace std;

vector <int> child[100005];
int dp[100005];

bool comp(int a, int b){
    return dp[a] > dp[b];
}

int main(){
    freopen("zvon.in", "r", stdin);
    freopen("zvon.out", "w", stdout);
    int T,test,i,n,j,x,y,b,e,mx,node;
    scanf("%d", &T);
    for(test = 1;test <= T;test++){
        scanf("%d", &n);
        for(i = 1;i < n;i++){
            scanf("%d %d", &x, &y);
            child[x].push_back(y);
        }
        for(i = n;i >= 1;i--){
            sort(child[i].begin(), child[i].end(), comp);
            j = 1;
            mx = 0;
            for(auto it : child[i]){
                mx = max(mx, dp[it] + j);
                j++;
            }
            dp[i] = mx;
        }
        printf("%d\n", dp[1]);
        for(i = 1;i <= n;i++){
            child[i].clear();
            dp[i] = 0;
        }
    }
    return 0;
}