Cod sursa(job #99517)

Utilizator webspiderDumitru Bogdan webspider Data 11 noiembrie 2007 12:14:35
Problema Zvon Scor 100
Compilator cpp Status done
Runda Happy Coding 2007 Marime 0.83 kb
#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;
}