Cod sursa(job #1367244)

Utilizator casianos1996Marc Casian Nicolae casianos1996 Data 1 martie 2015 18:48:35
Problema Sortare topologica Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 1.03 kb
program sortaret;
var     nr,n,m,i,j,x,y:longint;
        a:array of array of longint;
        viz,v,c:array[1..50000] of longint;
        bufin,bufout:array[1..200002] of byte;

procedure df(nod:longint);
var       i:longint;
begin
  viz[nod]:=1;
  for i:=1 to c[nod] do
    if viz[a[nod,i]]=0 then
      df(a[nod,i]);
  inc(nr);
  v[nr]:=nod;
end;

begin
  assign(input,'sortaret.in'); reset(input);
  assign(output,'sortaret.out'); rewrite(output);
  settextbuf(input,bufin);
  settextbuf(output,bufout);
  readln(n,m);
  {setlength(v,n+1);
  setlength(c,n+1); }
  setlength(a,n+1,1);
 // setlength(viz,n+1);
  nr:=0;
  for i:=1 to m do
    begin
      readln(x,y);
      inc(c[x]);
      setlength(a[x],c[x]+1);
      a[x,c[x]]:=y;
    end;
  {for i:=1 to n do
    begin
      write(i,'->');
      for j:=1 to c[i] do
        write(a[i,j],' ');
      writeln;
    end; }
  for i:=1 to n do
    if viz[i]=0 then
      df(i);
  for i:=1 to n do
    write(v[i],' ');
  close(input); close(output);
end.