Cod sursa(job #552724)

Utilizator FLORINSTELISTUOprea Valeriu-Florin FLORINSTELISTU Data 12 martie 2011 19:09:05
Problema Sortare topologica Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.92 kb
program sortop;
type nod=^graf;
       graf=record
       inf:longint;
       urm:nod;
         end;
var v:array[1..100000]of nod;p:nod;
    viz:array[1..100000]of 0..1;
    post:array[1..100000]of longint;
    n,i,x,y,nr,m:longint;f,g:text;
procedure dfs(x:longint);
var i:longint;p:nod;
begin
      viz[x]:=1;
      p:=v[x];
         while p<>nil do begin
          if viz[p^.inf]=0 then dfs(p^.inf);
          p:=p^.urm;
           end;
          inc(nr);
          post[nr]:=x;
         end;
begin
     assign(f,'sortaret.in');reset(f);
     assign(g,'sortaret.out');rewrite(G);
        readln(f,n,m);
         for i:=1 to m do begin
          readln(f,x,y);
         new(p); p^.inf:=y; p^.urm:=v[x]; v[x]:=p;
           end;
         for i:=1 to n do
          if viz[i]=0 then dfs(i);
          for i:=n downto 1 do write(g,post[i],' ');
          dispose(p);
           close(f);close(g);
         end.