Cod sursa(job #1726483)

Utilizator valentin50517Vozian Valentin valentin50517 Data 8 iulie 2016 09:19:49
Problema Zvon Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int N,T;
vector<int> V[100100];
int dfs(int v){
	int val,maxi=0,rs=0;
	multiset<int> S;
	for(auto it:V[v]){
		val = dfs(it);
		S.insert(val);
	}
	
	for(auto it=S.rbegin();it!=S.rend();it++){
		if(maxi < *it) rs+=(*it)-maxi,maxi = *it;
		maxi--;
	};
	return rs+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();
	}
   
	return 0;
}