Cod sursa(job #694735)

Utilizator alex_tomaTOMA ALEX alex_toma Data 27 februarie 2012 23:12:55
Problema Cerere Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<fstream>
using namespace std;
fstream f("cerere.in",ios::in);
fstream g("cerere.out",ios::out);
long k[100001],t[100001],m[100001],n,str,c[100001];
void rezolvare()
{
	long i,ok,j,x;
	for(i=1;i<=n;i++)
	{
		if(k[i]==0)
			g<<c[i]<<" ";
		else
		{
		str=i;
		while(k[str]!=0)
		{
			x=k[str];
		while(x!=0)
		{
		ok=1;
		for(j=1;j<n && ok;j++)
		if(str==m[j])
		{
		str=t[j];
		ok=0;
		x--;
		}
		}
		c[i]++;
		}
		g<<c[i]<<" ";
		}
	}
}
void citire()
{
	long i;
	f>>n;
	for(i=1;i<=n;i++)
		f>>k[i];
	for(i=1;i<n;i++)
		f>>t[i]>>m[i];
}
int main()
{
	citire();
	rezolvare();
	f.close();
	g.close();
}