Cod sursa(job #2778138)

Utilizator pielevladutPiele Vladut Stefan pielevladut Data 28 septembrie 2021 23:39:50
Problema Zvon Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <bits/stdc++.h>

using namespace std;

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

int t, n;
int dp[100100];
vector<int> v[100100];

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

void dfs(int nod)
{
    for(auto it : v[nod])
    {
        dfs(it);
    }
    sort(v[nod].begin(), v[nod].end(), cmp);
    int i = 1;
    for(auto it : v[nod])
    {
        dp[nod] = max(dp[nod], i + dp[it]);
        i++;
    }
}

int main()
{
    fin >> t;
    while(t--)
    {
        fin >> n;
        for(int i = 1; i <= n; i ++)
        {
            v[i].clear();
            dp[i] = 0;
        }
        for(int i = 1; i < n; i ++)
        {
            int x, y;
            fin >> x >> y;
            v[x].push_back(y);
        }
        dfs(1);
        fout << dp[1] << '\n';
    }
    return 0;
}