Pagini recente » Cod sursa (job #507173) | Cod sursa (job #3142211) | Cod sursa (job #591980) | Cod sursa (job #1116365) | Cod sursa (job #107194)
Cod sursa(job #107194)
#include <cstdio>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;
vector < long > A[100010];
long n,i,x,y,t;
long DF(long x) {
vector<long>::iterator it, it2;
vector<long> pui;
long nr,i;
for (it=A[x].begin(); it!=A[x].end(); it++) {
pui.push_back( DF(*it) );
}
sort(pui.begin(), pui.end(), greater<long>());
for (nr=0, i=1, it2=pui.begin(); it2!=pui.end(); ++it2, ++i) {
nr = max(nr,i + *it2);
}
return nr;
}
int main() {
freopen("zvon.in", "r", stdin);
freopen("zvon.out", "w", stdout);
scanf("%ld", &t);
while ( t-- ) {
scanf("%ld", &n);
for (i=0; i<n-1; ++i) {
scanf("%ld %ld", &x, &y);
A[x].push_back(y);
}
printf("%ld\n", DF(1));
for (i=1; i<=n;++i)
A[i].clear();
}
fclose(stdout);
fclose(stdin);
return 0;
}