Cod sursa(job #912091)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 12 martie 2013 06:48:52
Problema Sortare topologica Scor 30
Compilator fpc Status done
Runda Arhiva educationala Marime 0.83 kb
program topor;
type vect=array[1..1000]of integer;
     mat=array[1..1000,1..1000]of integer;
var viz,postordine:vect; a:mat;
    n,m,nr:integer;
    f,g:text;
procedure citire;
var i,x,y:integer;
begin
readln(f,n,m);
for i:=1 to m do begin
                 readln(f,x,y);
                 inc(a[x,0]);a[x,a[x,0]]:=y;
                 end;
end;
procedure DFS(x:integer);
var i:integer;
begin
viz[x]:=i;
for i:=1 to a[x,0] do
  if viz[a[x,i]]=0 then dfs(a[x,i]);
inc(nr);
postordine[nr]:=x;
end;
procedure sorteaza;
var i:integer;
begin
nr:=0;
for i:=1 to n do if viz[i]=0 then dfs(i);
end;
procedure afisare;
var i:integer;
begin
for i:=n downto 1 do write(g,postordine[i],' ');
end;
begin
assign(f,'sortaret.in');reset(f);
assign(g,'sortaret.out');rewrite(g);
citire;
sorteaza;
afisare;
close(f);close(g);
end.