Cod sursa(job #2243516)

Utilizator ciutanpCiuta Andrei Calin ciutanp Data 20 septembrie 2018 19:33:16
Problema Zvon Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("zvon.in");
ofstream g("zvon.out");
int dp[100003];
int t,n;
vector<int>G[100001];
bool cmp(int a,int b)
{
    return dp[a]>dp[b];
}

void dfs(int node)
{
    if(G[node].size()){
    for(int i=0;i<G[node].size();++i)
    {
        dfs(G[node][i]);
    }
    sort(G[node].begin(),G[node].end(),cmp);
    for(int i=0;i<G[node].size();++i)
        dp[node]=max(dp[node],dp[G[node][i]]+i+1);
    }

}

int main()
{
    f>>t;
    while(t--)
    {
        f>>n;
        memset(dp,0,sizeof(dp));
        for(int i=1;i<=n;++i)
            G[i].clear();
        for(int i=1;i<n;++i)
        {
            int x,y;
            f>>x>>y;
            G[x].push_back(y);
        }
        dfs(1);
        g<<dp[1]<<'\n';
    }
}