Pagini recente » Cod sursa (job #2033128) | Cod sursa (job #2710628) | Cod sursa (job #1614826) | Cod sursa (job #473096) | Cod sursa (job #41295)
Cod sursa(job #41295)
var f,g:text;
c,s,r,p,a:array[1..100001]of longint;
i,j,n,ip,x,y:longint;
e:boolean;
begin
assign(f,'cerere.in');
reset(f);
readln(f,n);
for i:=1 to n do begin
read(f,c[i]);
if c[i]=0 then r[i]:=1;
end;
for i:=1 to n-1 do begin
read(f,x,j);
a[j]:=x;
end;
i:=1;
while r[i]=1 do i:=i+1;
e:=i<>n+1;
y:=i;
while e do begin
ip:=1;
p[1]:=i;
while c[i]>0 do begin
for j:=1 to c[i] do i:=a[i];
ip:=ip+1;
p[ip]:=i;
end;
i:=s[i];
for j:=ip-1 downto 1 do begin
i:=i+1;
c[p[j]]:=0;
s[p[j]]:=i;
r[p[j]]:=1;
end;
i:=y;
while r[i]=1 do i:=i+1;
e:=i<>n+1;
end;
assign(g,'cerere.out');
rewrite(g);
for i:=1 to n do write(g,s[i],' ');
close(g);
end.