Pagini recente » Cod sursa (job #1503628) | Cod sursa (job #103142) | Cod sursa (job #1087230) | Cod sursa (job #2212193) | Cod sursa (job #773526)
Cod sursa(job #773526)
#include<fstream>
using namespace std;
int n,i,j,t[100001],uz[100001],x,y,c[100001];
int df(int x)
{
int i,tx,xi;
if(c[x]==0||t[x]==0||x==0)
return 0;
else
{
xi=x;
i=c[x];
while(i--)
x=t[x];
if(!uz[x])
df(x);
uz[xi]=uz[xi]+uz[x]+1;
//return uz[xi];
}
}
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]&&t[i]&&!uz[i])
df(i);
g<<uz[i]<<" ";
}
return 0;
}