Cod sursa(job #932928)

Utilizator andrei_toaderToader Andrei Sorin andrei_toader Data 29 martie 2013 13:40:07
Problema Sortare topologica Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.81 kb
program sortare;
var f,g:text;
    n,m:longint;
    a:array of array of longint;
    i:longint;
    x,y:longint;
    retine:array[1..50000] of longint;
    viz:array[1..50000] of 0..1;
    nr:longint;

procedure df(nod:longint);
var i:longint;
begin
 viz[nod]:=1;
 for i:=1 to a[nod,0] do
  if viz[a[nod,i]]=0 then
  begin
   viz[a[nod,i]]:=1;
   df(a[nod,i]);
  end;
  inc(nr); retine[nr]:=nod;
end;

begin
 assign (f,'sortaret.in'); reset (f);
 assign (g,'sortaret.out'); rewrite (g);
 readln (f,n,m);
 setlength(a,n+1,1);
 for i:=1 to m do
 begin
  readln (f,x,y);
  setlength(a[x],length(a[x])+1);
  inc(a[x,0]);
  a[x,a[x,0]]:=y;
 end;
 nr:=0;
 for i:=1 to n do
  if viz[i]=0 then
  begin
   df(i);
  end;
  for i:=n downto 1 do write (g,retine[i],' ');
  close (f); close (G);
end.