Cod sursa(job #842021)

Utilizator RusuAlexeiRusu Alexei RusuAlexei Data 25 decembrie 2012 20:56:59
Problema Sortare topologica Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.82 kb
program topologic_sort;
  var a:array[1..2,1..100000] of longint;
      b,c:array[1..50000] of longint;
      m,n,i,x:longint;
      f:text;
      bool:boolean;
begin
  assign(f,'sortaret.in');
  reset(f);
  readln(f,n,m);
  for i:=1 to m do readln(f,a[1,i],a[2,i]);
  close(f);
  assign(f,'sortaret.out');
  rewrite(f);
  for i:=1 to n do b[i]:=i;
  bool:=false;
  while not bool do
    begin
      bool:=true;
      for i:=1 to m do
        if b[a[1,i]]>b[a[2,i]] then
                           begin
                             x:=b[a[1,i]];
                             b[a[1,i]]:=b[a[2,i]];
                             b[a[2,i]]:=x;
                             bool:=false;
                           end;
    end;
  for i:=1 to n do c[b[i]]:=i;
  for i:=1 to n do write(f,c[i],' ');
  close(f);
end.