Cod sursa(job #102265)

Utilizator johnyJohny Deep johny Data 14 noiembrie 2007 10:19:43
Problema Invers Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.71 kb
const nmax=100;
type list=^elem;
     elem=record
          nr:longint;
          next:list;
          end;
var a,l:array[0..nmax] of longint;
    b:array[0..nmax] of list;
    n,i,p:longint;
    pp:list;
    f:text;

Procedure df(nod:longint);
var pp:list;
begin
a[nod]:=p;
inc(p);
pp:=b[nod];
while pp<>nil do
      begin
      df(pp^.nr);
      pp:=pp^.next;
      end;
end;

begin
assign(f,'invsc.in');
reset(f);
readln(f,n);
for i:=1 to n do
    begin
    readln(f,p);
    new(pp);
    pp^.nr:=i;
    pp^.next:=b[l[p-1]];
    b[l[p-1]]:=pp;
    l[p]:=i;
    end;
close(f);
p:=0;
df(0);
assign(f,'invsc.out');
rewrite(f);
for i:=1 to n do
    writeln(f,a[i]);
close(f);
end.