Cod sursa(job #1420072)

Utilizator AndreiITCuriman Andrei AndreiIT Data 17 aprilie 2015 15:50:39
Problema Zvon Scor 100
Compilator cpp 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> G[100001];
int t, n, timp[100001];
bool cmp(int a, int b)
{
    return timp[a] > timp[b];
}
void dfs(int nod)
{
    for(unsigned i=0; i<G[nod].size(); ++i)
        dfs(G[nod][i]);
    sort(G[nod].begin(), G[nod].end(), cmp);
    timp[nod]=0;
    for(unsigned i=0; i<G[nod].size(); ++i)
        timp[nod]=max(timp[nod], timp[G[nod][i]]+(int)i+1);
}
int main()
{
    fin>>t;
    for(int ti=1; ti<=t; ++ti)
    {
        fin>>n;
        for(int i=1; i<n; ++i)
        {
            int a, b;
            fin>>a>>b;
            G[a].push_back(b);
            ///G[b].push_back(a);
        }
        dfs(1);
        fout<<timp[1]<<'\n';
        for(int i=1; i<=n; ++i)
            G[i].clear();
    }
    return 0;
}