Cod sursa(job #555897)

Utilizator loginLogin Iustin Anca login Data 15 martie 2011 20:36:40
Problema Zvon Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
# include <fstream>
# include <iostream>
# include <vector>
# include <set>
# define DIM 100003
# define max(a,b) (a>b?a:b)
using namespace std;
int n, s[DIM];
vector<int>G[DIM];
multiset<int>S[DIM];

void DF (int k)
{
	for(vector<int>::iterator I=G[k].begin();I!=G[k].end();++I)
	{
		DF(*I);
		S[k].insert(-s[*I]);
	}
	for(int i=1;i<=G[k].size();++i)
	{
		s[k]=max(s[k],-(*S[k].begin())+i);
		S[k].erase(S[k].begin());
	}
}

int main()
{
	ifstream fin ("zvon.in");
	ofstream fout ("zvon.out");
	int t;
	fin>>t;
	for(;t--;)
	{
		fin>>n;
		int x,y;
		for(int i=1;i<n;++i)
		{
			fin>>x>>y;
			G[x].push_back(y);
		}
		DF(1);
		fout<<s[1]<<"\n";
		for(int i=1;i<=n;++i)
		{
			s[i]=0;
			G[i].erase(G[i].begin(),G[i].end());
		}
	}
	return 0;
}