Pagini recente » Cod sursa (job #412554) | Cod sursa (job #1342930) | Cod sursa (job #1275583) | Cod sursa (job #1433068) | Cod sursa (job #99517)
Cod sursa(job #99517)
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
const int maxN = 100001;
vector<int> fii[ maxN ];
int t;
int n;
int dfs( int nodc ) {
int i;
int x = fii[nodc].size();
vector<int> temp;
temp.clear();
for ( i = 0; i < fii[nodc].size(); i++ )
temp.push_back( dfs( fii[nodc][i] )+1 );
sort( temp.begin(), temp.end() );
for ( i = 0; i < temp.size(); i++ ) {
x= max( x, temp[i] + (int)temp.size() - i - 1 );
}
return x;
}
int main()
{
int i,j;
int a,b;
freopen("zvon.in","r",stdin);
freopen("zvon.out","w",stdout);
scanf("%d\n", &t );
while(t>0) {
t--;
scanf("%d\n", &n );
for ( i = 1; i < maxN; i++ )
fii[i].clear();
for ( i = 1; i < n; i++ ) {
scanf("%d %d\n", &a, &b );
fii[ a ].push_back( b );
}
printf("%d\n", dfs( 1 ) );
}
fclose(stdin);
fclose(stdout);
return 0;
}