Cod sursa(job #1973455)

Utilizator RaresEGaySopterean Adrian RaresEGay Data 25 aprilie 2017 00:26:17
Problema Zvon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <vector>

#define MAXN 100005

using namespace std;

ifstream f ("zvon.in");
ofstream g ("zvon.out");

int t, n;
int sol[57][MAXN];
int used[57][MAXN];
int maxim[57];
vector < int > v[MAXN];

int DFS(int u){
    used[t][u] = 1;
    for(int i = 0; i < v[u].size(); ++i){
        int nod = v[u][i];
        if(!used[t][nod]){
            sol[t][nod] = sol[t][u] + 1;
            if(sol[t][nod] > maxim[t]) maxim[t] = sol[t][nod];
            DFS(nod);
        }
    }
}

int main(){
    f >> t;
    while(t != 0){
        f >> n;
        for(int i = 1; i < n; ++i){
            int x, y;
            f >> x >> y;
            v[x].push_back(y);
        }
        DFS(1);
        if(n != 1) g << maxim[t] + 1 << '\n';
        else g << 0 << '\n';
        for(int i = 1; i <= n; ++i) v[i].clear();
        --t;
    }
}