Pagini recente » Cod sursa (job #563113) | Cod sursa (job #2256926) | Cod sursa (job #2119865) | Cod sursa (job #1925028) | Cod sursa (job #671361)
Cod sursa(job #671361)
#include <fstream.h>
int N,i,T[100005],a,b,v[100005];
ifstream f("cerere.in");
ofstream g("cerere.out");
struct nod{
int inf,st;
nod *adr;
}*A[100005];
void citire(){
f>>N;
for(i=1;i<=N;i++)
f>>T[i];
for(i=1;i<N;i++){
f>>a>>b;
nod*p=new nod;
p->inf=a;
p->st=T[i];
p->adr=A[b];
A[b]=p;
}
}
void DFS(int n,int k)
{
if(T[n-]==0){
g<<k<<" ";
k=0;
v[n]=1;
for(nod*p=A[n];p;p=p->adr)
if(v[p->inf]==0)
DFS(p->inf,k+1);
}
int main (){
citire();
DFS(1,0);
return 0;
}