Cod sursa(job #640467)

Utilizator Buzu_Tudor_RoCont vechi Buzu_Tudor_Ro Data 25 noiembrie 2011 20:32:03
Problema Sortare topologica Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.92 kb
Program Depth_First;
type natural = 0..1;
type tablou=array[0..50001,0..30001] of natural;
var fi,fo : text;
    n,i,j,i_c,m : longint;
    a:tablou;
    s:array[0..50000] of natural;
    stiva:array[0..50000] of integer;

Procedure df_r(i_c:byte);
var k:byte;
begin
      m:=m+1;
      stiva[m]:=i_c;
      s[i_c]:=1;
      for k:=1 to n do if (s[k]=0) and (a[i_c,k]=1) then df_r(k);

end;

begin
     assign(fi,'sortaret.in'); reset(fi);
     assign(fo,'sortaret.out'); rewrite(fo);
     readln(fi,n,m);
     for i:=1 to n do
         for j:=1 to n do a[i,j]:=0;
     while not eof(fi) do begin
                          readln(fi,i,j);
                          a[i,j]:=1;
                          end;
     close(fi);
     for i:=2 to n do begin s[i]:=0; stiva[i]:=0; end;
     s[1]:=1; stiva[1]:=1; i_c:=1;
     m:=0;
     df_r(1);
     for i:=1 to m do write(fo,stiva[i],' ');
     close(fo);
end.