Cod sursa(job #2403846)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 11 aprilie 2019 22:39:01
Problema Zvon Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f ("zvon.in");
ofstream g ("zvon.out");

const int nmax=1e5+3;

int x,y,n,t,usu[nmax];

vector <int> v[nmax];

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

void dfs(int nod)
{

    for(auto i:v[nod]) dfs(i);

    sort(v[nod].begin(),v[nod].end(),cmp);

    for(int i=0;i<v[nod].size();++i) usu[nod]=max(usu[nod],usu[v[nod][i]]+i+1);
}
int main()
{
    ios::sync_with_stdio(false);
    f>>t;

    while(t--)
    {

        f>>n;

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

        memset(usu,0,sizeof(usu));

        for(int i=1;i<n;++i)
        {
            f>>x>>y;
            v[x].push_back(y);
        }

        dfs(1);

        g<<usu[1]<<'\n';
    }
    return 0;
}