Pagini recente » Cod sursa (job #2457620) | Cod sursa (job #2945636) | Cod sursa (job #2575141) | Cod sursa (job #1953919) | Cod sursa (job #158282)
Cod sursa(job #158282)
#include<stdio.h>
#include<vector>
using namespace std;
int t,n;
int tmin[100001];
vector<int> li[100001];
vector<int>::iterator it;
void minimizare(int i){
vector<int> tfii;
for(it=li[i].begin;it!=li[i].end;it++){
minimizare(i);
tfii.push_back(tmin[*it]);
}
sort(tfii.begin(),tfii.end());
tmin[i]=0;
int p=0;
for(it=tfii.begin();it!=tfii.end();it++){
p++;
if(tmin[i]<*it+p)
tmin[i]=*it+p;
}
}
void citire(){
freopen("zvon.in","r",stdin);
freopen("zvon.out","w",stdout);
scanf("%d/n",&t);
for(;t;t--){
scanf("%d",&n);
for(int i=1;i<n;i++){
int a,b;
scanf("%d %d/n",&a,&b);
li[a].push_back(b);
}
minimizare(1);
printf("%d/n",tmin[1]);
for(int i=1;i<=n;i++)
li[i].clear();
}
fclose(stdin);
fclose(stdout);
}
int main(){
citire();
return 0;
}