Cod sursa(job #1726477)

Utilizator valentin50517Vozian Valentin valentin50517 Data 8 iulie 2016 08:31:39
Problema Zvon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int N,T,St[100100];
vector<int> V[100100];
int dfs(int v){
	int val,st=0;
	vector<int> S;
	for(auto it:V[v]){
		val = dfs(it);
		S.push_back(val);
	}
	sort(S.rbegin(),S.rend());
	//cout << v << " : ";
	for(auto it:S){
	//	cout << it << ' ';
		while(st && St[st] == it) st--,it++;
		St[++st] = it;
	};
	//cout << '\n';
	
	return St[bool(st)]+1; 
}
int main(){
    ifstream cin("zvon.in");
    ofstream cout("zvon.out");
    ios_base::sync_with_stdio(0);
    cin >> T;
    while(T--){
		cin >> N;
		for(int x,y,i=1;i<N;i++){cin >> x >> y; V[x].push_back(y);}
		cout << dfs(1)-1<< '\n';
		for(int i = 0;i<N;i++) V[i].clear();
		//cout << "________\n";
	}
   
	return 0;
}