Pagini recente » Cod sursa (job #2897598) | Cod sursa (job #716079) | Cod sursa (job #2894552) | Cod sursa (job #81764) | Cod sursa (job #773281)
Cod sursa(job #773281)
#include<fstream>
using namespace std;
int n,i,j,t[100001],uz[100001],x,y,c[100001];
void df(int x)
{
int i,tx,xi;
if(c[x]&&t[x])
{
xi=x;
tx=c[x];
while(tx&&x)
{
x=t[x];
tx--;
}
if(x)
{
df(x);
uz[xi]+=uz[x];
}
}
else
uz[x]=1;
}
int main()
{
ifstream f("cerere.in");
ofstream g("cerere.out");
f>>n;
for(i=1;i<=n;++i)
f>>c[i];
for(i=1;i<n;++i)
{
f>>x>>y;
t[y]=x;
}
for(i=1;i<=n;++i)
{
if(c[i])
df(i);
g<<uz[i]<<" ";
}
return 0;
}