Cod sursa(job #158282)

Utilizator dragosmihaiDragos Oana dragosmihai Data 13 martie 2008 16:14:41
Problema Zvon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<stdio.h>
#include<vector>
using namespace std;
int t,n;
int tmin[100001];
vector<int> li[100001];
vector<int>::iterator it;

void minimizare(int i){
	vector<int> tfii;
	for(it=li[i].begin;it!=li[i].end;it++){
		minimizare(i);
		tfii.push_back(tmin[*it]);
	}
	sort(tfii.begin(),tfii.end());
	tmin[i]=0;
	int p=0;
	for(it=tfii.begin();it!=tfii.end();it++){
		p++;
		if(tmin[i]<*it+p)
			tmin[i]=*it+p;
	}
}

void citire(){
	freopen("zvon.in","r",stdin);
	freopen("zvon.out","w",stdout);
	scanf("%d/n",&t);
	for(;t;t--){
		scanf("%d",&n);
		for(int i=1;i<n;i++){
			int a,b;
			scanf("%d %d/n",&a,&b);
			li[a].push_back(b);
		}
		minimizare(1);
		printf("%d/n",tmin[1]);
		for(int i=1;i<=n;i++)
			li[i].clear();
	}
	fclose(stdin);
	fclose(stdout);
}

int main(){
	citire();
	return 0;
}