Cod sursa(job #2246735)

Utilizator toadehuPuscasu Razvan Stefan toadehu Data 27 septembrie 2018 14:37:06
Problema Zvon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.15 kb
#include <bits/stdc++.h>

using namespace std;

struct copac
{
    vector <int> fraeri;
    int depth;
} v[100000];

void parcurgere (int nod)
{
    for (int i=0; i<v[nod].fraeri.size(); ++i)
    {
        v[v[nod].fraeri.at(i)].depth=v[nod].depth+1;
        parcurgere(v[nod].fraeri.at(i));
    }
}

int main()
{
    ifstream fin("zvon.in");
    ofstream fout ("zvon.out");
    int t;
    fin>>t;
    while (--t>=0)
    {
        int n;
        fin>>n;
        if (n>=2)
        {
            v[1].depth=0;
            int a,b,n2=n;
            for (int j=1; j<n; ++j)
            {
                fin>>a>>b;
                v[a].fraeri.push_back(b);
            }
            parcurgere(1);
            n=n2;
            long long int ans=0;
            for (int i=1; i<=n; ++i)
            {
            ans=max(ans,1ll*(v[i].fraeri.size()+v[i].depth));
            }
            for (int i=1;i<=n;++i)
            {
                    v[i].fraeri.erase();
            }
            //cout<<"\n";
            fout<<ans<<"\n";
        }
        else
        {
            fout<<"0\n";
        }
    }
    return 0;
}