Cod sursa(job #580852)

Utilizator muskMuscalu Alexandru musk Data 13 aprilie 2011 16:17:48
Problema Sortare topologica Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.7 kb
var a:array[0..50000,0..50000] of integer;
    use,st:array[1..5000]of integer;
    n,m,nr,i,j:integer;
    f,g:text;
procedure citire;
var i,j,k:integer;
begin
assign(f,'sortaret.in');reset(f);
assign(g,'sortaret.out');rewrite(g);
read(f,n,m);
for k:=1 to m do
    begin
    read(f,i,j);
    a[i,0]:=a[i,0]+1;
    a[i,a[i,0]]:=j;
    end;
close(f);
end;

procedure df(nod:integer);
var i:integer;
begin
use[nod]:=1;

for i:=1 to a[nod,0] do
 if use[a[nod,i]]=0 then df(a[nod,i]);
 nr:=nr+1;
st[nr]:=nod;
end;

begin
citire;
nr:=0;
for i:=1 to n do use[i]:=0;
for i:=1 to n do
 if use[i]=0 then df(i);
writeln(nr);
for i:=nr downto 1 do write(g,st[i],' ');
close(g);
end.