Cod sursa(job #2017029)

Utilizator MihaelaCismaruMihaela Cismaru MihaelaCismaru Data 31 august 2017 03:48:48
Problema Zvon Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
ifstream in("zvon.in");
ofstream out("zvon.out");
vector<int>h[100050];
int solve( int nod, int tata ){
    if( h[nod].size() == 0 ){
        return 0;
    }
    vector<int> vec;
    for( int i = 0; i < h[nod].size(); i ++ ){
        if( h[nod][i] != tata )
        vec.push_back( solve( h[nod][i], nod ));
    }
    sort( vec.begin(), vec.end() );
    int k = 0;
    int rez = 0;
    for( int i = vec.size()-1; i >= 0; i -- ){
        k ++;
        vec[i] += k;
        rez = max( rez, vec[i] );
    }
    return rez;
}
int g,t,n,a,b;
int main(){
    in >> t;
    for( g = 1; g <= t; g ++ ){
        in >> n;
        for( int i = 1; i < n; i ++ ){
            in >> a >> b;
            h[a].push_back(b);
        }
        out<<solve( 1,-1 )<<"\n";
        for( int i = 1; i <= n; i ++ ){
            h[i].clear();
        }
    }
    return 0;
}