Pagini recente » Cod sursa (job #160704) | Cod sursa (job #1370373) | Cod sursa (job #2123324) | Cod sursa (job #500672) | Cod sursa (job #483201)
Cod sursa(job #483201)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
#define file_in "zvon.in"
#define file_out "zvon.out"
#define nmax 101000
int T,N;
vector<int> G[nmax];
vector<int> L[nmax];
int d[nmax];
void adfile(void){
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d", &T);
return ;
}
int cmp(int a, int b) { return a>b; }
void parc(int nod){
d[nod]=0;
vector<int> :: iterator it;
for (it=G[nod].begin();it!=G[nod].end();++it){
parc(*it);
L[nod].push_back(d[*it]);
}
sort(L[nod].begin(),L[nod].end(),cmp);
int x=1;
for (it=L[nod].begin();it!=L[nod].end();++it,x++)
d[nod]=max(d[nod],(*it)+x);
}
void solve(void){
int i,x,y;
while(T--){
scanf("%d", &N);
for (i=0;i<nmax;++i)
G[i].clear(),
L[i].clear();
for (i=1;i<N;++i){
scanf("%d %d", &x, &y);
G[x].push_back(y);
}
parc(1);
printf("%d\n", d[1]);
}
}
int main(){
adfile();
solve();
return 0;
}