Mai intai trebuie sa te autentifici.
Cod sursa(job #41289)
| Utilizator | Data | 28 martie 2007 09:42:47 | |
|---|---|---|---|
| Problema | Cerere | Scor | 20 |
| Compilator | fpc | Status | done |
| Runda | Arhiva de probleme | Marime | 0.75 kb |
var f,g:text;
c,s,r,p,a:array[1..100001]of longint;
i,j,n,ip,x: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;
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:=1;
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.