Pagini recente » Cod sursa (job #770159) | Cod sursa (job #1787313) | Cod sursa (job #1702610) | Cod sursa (job #151405) | Cod sursa (job #350004)
Cod sursa(job #350004)
#include <stdio.h>
int i,j,p,n,k[1000],t[1000],q[1000],x,y;
int main()
{
freopen("cerere.in","r",stdin);
freopen("cerere.out","w",stdout);
scanf("%d", &n);
for (i=1;i<=n;i++)
scanf("%d", &k[i]);
for (i=1;i<n;i++)
{
scanf("%d %d", &x, &y);
t[y]=x;
}
for (i=1;i<=n;i++)
if (k[i]!=0)
{
x=y=0;
j=i;
p=k[i];
while (t[j]!=0 && k[j]!=0)
{
j=t[j];
x++;
if (x%p==0) { y++; x=0; p=k[j]; }
}
q[i]=y;
}
for (i=1;i<=n;i++)
printf("%d ", q[i]);
return 0;
}