Cod sursa(job #1374948)

Utilizator Stefan.Andras Stefan Stefan. Data 5 martie 2015 11:30:33
Problema Sortare topologica Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.84 kb
program toplogigalsort;
var f,g:text;
    n,m,x,i,j,k,nr:longint;
    t:array[0..1,1..100001] of longint;
    start,v,viz:array[1..50001] of longint;

procedure df(nod:longint);
var p:longint;
begin
   p:=start[nod];
   viz[nod]:=1;
   while p <> 0 do
        begin
        if viz[t[0,p]] = 0 then
           df(t[0,p]);
        p:=t[1,p];
        end;
   inc(nr);
   v[nr]:=nod;
end;

begin
   assign(f,'sortaret.in'); reset(f);
   assign(g,'sortaret.out'); rewrite(g);
   readln(f,n,m);
   k:=0;
   for x:=1 to m do
      begin
      readln(f,i,j);
      inc(k);
      t[0,k]:=j;
      t[1,k]:=start[i];
      start[k]:=i;
      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,v[i],' ');
   close(f); close(g);
end.