Cod sursa(job #2834763)

Utilizator mihnea_buzoiuMihnea Buzoiu mihnea_buzoiu Data 17 ianuarie 2022 17:09:14
Problema Zvon Scor 0
Compilator cpp-32 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>

using namespace std;

const int N = 1e5 + 4;
vector <int> tree[N];
int v[N];

bool cmp(int x, int y){
    return v[x] > v[y];
}

void dfs(int node){
    for (auto i : tree[node]){
        dfs(i);
    }

    sort(tree[node].begin(), tree[node].end(), cmp);

    for (int i=0; i<tree[node].size(); i++)
        v[node] = max(v[tree[node][i]]+i+1, v[node]);
}

int main()
{
    freopen("zvon.in", "r", stdin);
    freopen("zvon.out", "w", stdout);

    int t;
    cin >> t;

    for (int k=0; k<t; k++){
        int n;
        cin >> n;

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

        for (int i=1; i<n; i++){
            int a, b;
            cin >> a >> b;
            tree[a].push_back(b);
        }

        dfs(1);
        cout << v[1] << '\n';
    }
}