Cod sursa(job #1373936)

Utilizator trifa_mariaTrifa Maria trifa_maria Data 4 martie 2015 21:31:38
Problema Sortare topologica Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.97 kb
program sortare_topologica;
var a:array of array of longint;
    viz,c,v:array of longint;
    f,g:text;
    bufin,bufout:array[1..200002] of byte;
    nr,n,m,i,x,y:longint;
procedure df(nod:longint);
var i:longint;
  begin
       viz[nod]:=1;
       for i:=1 to c[nod] do
          if viz[a[nod,i]]=0 then
              df(a[nod,i]);
       inc(nr);
       v[nr]:=nod;
  end;

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



    close(f);
    close(g);
end.