Cod sursa(job #688147)

Utilizator dtoniucDaniel Toniuc dtoniuc Data 23 februarie 2012 08:48:34
Problema Asmax Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>

using namespace std;
int n,v[16001],a[16001][16001],viz[16001],cd[16001],m;

void citire()
{
	ifstream fin("asmax.in");
	fin>>n;
	for(int i=1;i<=n;i++)
	{
		fin>>v[i];
		a[i][0]=1;
	}
	for(int i=1;i<n;i++)
	{
		int x,y;
		fin>>x>>y;
		a[x][a[x][0]]=y;
		a[x][0]++;
		viz[y]=1;
	}
}

void grad(int vf)
{
	cd[1]=vf;
	int st,dr=1;
	st=1;
	while(st<=dr)
	{
		int k=cd[st];
		for(int i=1;i<a[k][0];i++)
		{
			cd[++dr]=a[k][i];
			viz[a[k][i]]=viz[k]+1;
			if(viz[k]+1>m) m=viz[k]+1;
		}
		st++;
	}
}
/*int det(int vf)
{
	
}
*/
int main()
{
	int vf;
	citire();
	for(int i=1;i<=n;i++)
		if(viz[i]==0)
		{
			vf=i;
			break;
		}
	//grad(vf);
	for(int i=1;i<=n;i++)
		if(a[i][0]==1) cd[i]=v[i];
	for(int i=1;i<=n;i++)
		cout<<cd[i];
	//det(vf);
	return 0;
}