Pagini recente » Cod sursa (job #1856759) | Cod sursa (job #1991056) | Monitorul de evaluare | Cod sursa (job #2253506) | Cod sursa (job #2017016)
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
ifstream in("zvon.in");
ofstream out("zvon.out");
vector<int>h[100001];
int solve( int nod ){
if( h[nod].size() == 0 ){
return 0;
}
int vec[100001];
for( int i = 0; i < h[nod].size(); i ++ ){
vec[i] = solve( h[nod][i] );
}
sort( vec + 0, vec + h[nod].size() );
int k = 0;
int rez = 0;
for( int i = h[nod].size()-1; i >= 0; i -- ){
k ++;
vec[i] += k;
rez = max( rez, vec[i] );
}
return rez;
}
int g,t,n,a,b;
int main(){
in >> t;
for( g = 1; g <= t; g ++ ){
in >> n;
for( int i = 1; i <= n; i ++ ){
h[i].clear();
}
for( int i = 1; i < n; i ++ ){
in >> a >> b;
h[a].push_back(b);
}
out<<solve( 1 )<<"\n";
}
return 0;
}