Cod sursa(job #1891208)

Utilizator mateigabriel99Matei Gabriel mateigabriel99 Data 23 februarie 2017 19:57:58
Problema Zvon Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>

#define NMax 100005

using namespace std;

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

int M,N;
int T[NMax];
vector<int> Graf[NMax];

bool sortcomp(int a,int b)
{
    return T[a]>T[b];
}

void DFS(int nod)
{
    for(vector<int>::iterator it=Graf[nod].begin();it!=Graf[nod].end();it++)
        DFS(*it);
    sort(Graf[nod].begin(),Graf[nod].end(),sortcomp);
    T[nod]=0;
    for(int i=0;i<Graf[nod].size();i++)
        T[nod]=max(T[nod],i+1+T[Graf[nod][i]]);
}

int main()
{
    fin>>M;
    while(M--)
    {
        fin>>N;
        for(int i=1;i<N;i++)
        {
            int x,y;
            fin>>x>>y;
            Graf[x].push_back(y);
        }
        DFS(1);
        fout<<T[1]<<"\n";
        for(int i=1;i<=N;i++)
            T[i]=0, Graf[i].clear();
    }
    return 0;
}