Cod sursa(job #543501)

Utilizator boardkingLazar Zsolt boardking Data 28 februarie 2011 09:46:40
Problema Sortare topologica Scor 50
Compilator fpc Status done
Runda Arhiva educationala Marime 0.76 kb
uses crt;
type

     vek=array[1..5000] of boolean;
     wek=array[0..5000] of integer;
     mx=array[1..5000,1..5000] of boolean;
var x:mx;
    f,g:text;
    a,b,d,c,n,i,j,m:integer;
    v:vek;
    w:wek;
procedure push(a:integer);
begin
inc(w[0]);
w[w[0]]:=a;
end;
procedure df(k:integer);
var i:integer;
begin
  v[k]:=true;
  for i:= 1 to n do
   if x[k,i] and not(v[i])
    then df(i);
 push(k);
end;
begin
assign(f,'sortaret.in');
reset(f);
assign(g,'sortaret.out');
rewrite(g);
readln(f,n,m);
for j:= 1 to m do
 begin
 readln(f,a,b);
 x[a,b]:=true;
 end;
for j:= 1 to n do
 v[j]:=false;
for j:= 1 to n do
 if v[j]=false
  then df(j);

for j:= w[0] downto 1 do
 write(g,w[j],' ');
close(f);
close(g);
end.