Cod sursa(job #2503194)

Utilizator cyg_Alex_codegicianBarbu Alexandru cyg_Alex_codegician Data 2 decembrie 2019 18:01:38
Problema Zvon Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
vector <int> v[100005];
int d[100005],n;
bool cmp(int a,int b)
{
    return d[a]>d[b];
}
void dfs(int nod)
{
    if (v[nod].size()==0)
    {
        d[nod]=0;
        return;
    }
    for (int i=0;i<v[nod].size();i++)
    {
        dfs(v[nod][i]);
    }
    sort(v[nod].begin(),v[nod].end(),cmp);
    for (int i=0;i<v[nod].size();i++)
    {
        d[nod]=max(d[nod],1+i+d[v[nod][i]]);
    }
}
int main()
{
    int t;
    fin >> t;
    for (int i=1;i<=t;i++)
    {
        fin >> n;
        for (int j=1;j<=n;j++)
        {
            v[j].clear();
            d[j]=0;
        }
        for (int j=1;j<=n-1;j++)
        {
            int x,y;
            fin >> x >> y;
            v[x].push_back(y);
        }
        dfs(1);
        fout << d[1] << '\n';
    }
}