Pagini recente » Cod sursa (job #821638) | Cod sursa (job #3193571) | Cod sursa (job #2862569) | Rating Nasturel Gabriel (diehard) | Cod sursa (job #1726483)
#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;
}