Cod sursa(job #153443)

Utilizator hitmannCiocas Radu hitmann Data 10 martie 2008 15:44:06
Problema Sortare topologica Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.88 kb
program sort_top;
type pnod=^nod;
     nod=record
         i:1..50000;
         urm:pnod;
         end;
    tip=1..50000;
var a:array[1..50000]of pnod;
    n,m,i,j,timp:longint;
    s:array[1..50000]of 0..1;
    g:text;
    d:array[1..50000]of 1..50000;
    p,q:pnod;
procedure citire;
var f:text;
    p:pnod;
    x,y:1..50000;
begin
assign(f,'sortaret.in'); reset(f);
read(f,n,m);
for i:=1 to m do
 begin
 read(f,x,y);
 new(p);p^.i:=y; p^.urm:=a[x]; a[x]:=p;
 end;
close(f);
end;
procedure viz(i:tip);
var p:pnod;
begin
s[i]:=1;
p:=a[i];
while p<>nil do
 begin
  if s[p^.i]=0 then viz(p^.i);
  p:=p^.urm;
 end;
inc(j);
d[j]:=i;
end;

procedure adancime;
var i:longint;
begin
for i:=1 to n do
 if s[i]=0 then viz(i);
end;
begin {pp}
citire;
adancime;
assign(g,'sortaret.out'); rewrite(g);
for i:=n downto 1 do write(g,d[i],' ');
close(g);
end.