Pagini recente » Cod sursa (job #1174477) | Cod sursa (job #2697340) | Cod sursa (job #1513072) | Cod sursa (job #958386) | Cod sursa (job #1805430)
#include <cstdio>
#include <queue>
#include <algorithm>
using namespace std;
vector <int> child[100005];
int dp[100005];
bool comp(int a, int b){
return dp[a] > dp[b];
}
int main(){
freopen("zvon.in", "r", stdin);
freopen("zvon.out", "w", stdout);
int T,test,i,n,j,x,y,b,e,mx,node;
scanf("%d", &T);
for(test = 1;test <= T;test++){
scanf("%d", &n);
for(i = 1;i < n;i++){
scanf("%d %d", &x, &y);
child[x].push_back(y);
}
for(i = n;i >= 1;i--){
sort(child[i].begin(), child[i].end(), comp);
j = 1;
mx = 0;
for(auto it : child[i]){
mx = max(mx, dp[it] + j);
j++;
}
dp[i] = mx;
}
printf("%d\n", dp[1]);
for(i = 1;i <= n;i++){
child[i].clear();
dp[i] = 0;
}
}
return 0;
}