Pagini recente » Cod sursa (job #1537513) | Cod sursa (job #2689933) | Cod sursa (job #706927) | Cod sursa (job #2007418) | Cod sursa (job #2403886)
#include <bits/stdc++.h>
#define pb push_back
using namespace std ;
const int NR = 100005 ;
ifstream in ("zvon.in") ;
ofstream out ("zvon.out") ;
vector < int > v [ NR ] ;
int n , t [ NR ] ;
inline bool cmp ( int i , int j ) { return i > j ;}
void dfs ( int nod , int father ) {
if ( v [ nod ].size() == 1 ) return ;
int i ;
vector < int > :: iterator it ;
int tl [ v [ nod ].size() + 5 ] = {0} , cnt = 0 ;
for ( it = v [ nod ].begin() ; it != v [ nod ].end() ; ++ it ) {
if ( father == *it ) continue ;
dfs ( *it , nod ) ;
tl [ ++ cnt ] = t [ *it ] ;
}
sort ( tl + 1 , tl + cnt + 1 , cmp ) ;
for ( i = 1 ; i <= cnt ; ++ i )
t [ nod ] = max ( t [ nod ] , tl [ i ] + i ) ;
}
int main () {
int i , x , y , nrt ;
in >> nrt ;
while ( nrt -- ) {
in >> n ;
v [ 1 ].pb ( 0 ) ;
for ( i = 1 ; i < n ; ++ i ) {
in >> x >> y ;
v [ x ].pb ( y ) ;
v [ y ].pb ( x ) ;
}
dfs( 1 , 0 ) ;
out << t [ 1 ] << '\n' ;
for ( int i = 1 ; i <= n ; t [ i ] = 0 , v [ i ++ ].clear() ) ;
}
}