Cod sursa(job #1599438)

Utilizator andreey_047Andrei Maxim andreey_047 Data 13 februarie 2016 21:15:42
Problema Zvon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>

using namespace std;

const int nmax = 100008;

int N,dp[nmax],best;
vector<int> G[nmax];

inline void DFS(int nod){
  best = 0;
 for(auto it: G[nod]){
     DFS(it);
    best = max(best,dp[it]);
 }
 dp[nod] = best+1;
}

int main(){
    int i,x,y,T;
    freopen ("zvon.in","r",stdin);
    freopen ("zvon.out","w",stdout);
    scanf("%d\n",&T);
    while(T--){
        scanf("%d\n",&N);
        for(i = 1; i < N; ++i){
            scanf("%d %d\n",&x,&y);
            G[x].push_back(y);
        }
        DFS(1);
        if(N==1)dp[1]=0;
        printf("%d\n",dp[1]);
        for(i = 1; i <= N; ++i)
            dp[i]=0,G[i].clear();
    }
    return 0;
}