Pagini recente » Cod sursa (job #2279784) | Cod sursa (job #1056918) | Cod sursa (job #1352856) | Cod sursa (job #984795) | Cod sursa (job #1482274)
#include <cstdio>
#include <vector>
#define N 100001
#include<algorithm>
std::vector <int> v[N];
int val[N];
bool cmp(int a,int b){
return val[a]>val[b];
}
void dfs(int nod){
int i;
for(i=0;i<v[nod].size();i++)
dfs(v[nod][i]);
std::sort(v[nod].begin(),v[nod].end(),cmp);
for(i=0;i<v[nod].size();i++)
if(val[v[nod][i]]+i+1>val[nod])
val[nod]=val[v[nod][i]]+i+1;
}
int main()
{
freopen("zvon.in","r",stdin);
freopen("zvon.out","w",stdout);
int t;
scanf("%d",&t);
while(t){
int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++){
val[i]=0;
v[i].clear();
}
for(i=0;i<n-1;i++){
int x,y;
scanf("%d%d",&x,&y);
v[x].push_back(y);
}
dfs(1);
printf("%d\n",val[1]);
t--;
}
return 0;
}