Cod sursa(job #1891526)

Utilizator stanciuandreiStanciulescu Andrei stanciuandrei Data 24 februarie 2017 09:22:09
Problema Zvon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <vector>
#include <fstream>
#define NMAX 100000 + 4
using namespace std;

ifstream in("zvon.in");
ofstream out("zvon.out");
vector<int> graph[NMAX];
int T, n, x, y, ans;

int BFS(int start){
    int maxs = 0, maxval = 0, tval;
    if(graph[start].size()<1)
        return 1;
    for(unsigned int i=0;i<graph[start].size();i++){
        tval = BFS(graph[start][i]);
        if(tval>maxs){
            maxval = 1;
            maxs = tval;
        }
        else if(tval == maxs)
            maxval++;
    }
    return maxval + maxs;
}

int main()
{
    in>>T;
    while(T){
        T--;
        in>>n;
        for(int i=0;i < n-1;i++){
            in>>x>>y;
            graph[x].push_back(y);
        }
        ans = BFS(1);
        out<<ans - 1<<'\n';
        for(int i=0;i<n;i++){
            graph[i].clear();
        }
    }
    return 0;
}