Pagini recente » Cod sursa (job #917752) | Cod sursa (job #1516048) | Cod sursa (job #1313056) | Cod sursa (job #210916) | Cod sursa (job #1373936)
program sortare_topologica;
var a:array of array of longint;
viz,c,v:array of longint;
f,g:text;
bufin,bufout:array[1..200002] of byte;
nr,n,m,i,x,y:longint;
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(f,'sortaret.in');
reset(f);
assign(g,'sortaret.out');
rewrite(g);
settextbuf(f,bufin);
settextbuf(g,bufout);
readln(f,n,m);
setlength(v,n+1);
setlength(c,n+1);
setlength(a,n+1,1);
setlength(viz,n+1);
for i:=1 to m do
begin
readln(f,x,y);
inc(c[x]);
setlength(a[x],c[x]+1);
a[x,c[x]]:=y;
end;
nr:=0;
for i:=1 to n do
if viz[i]=0 then
df(i);
for i:=n downto 1 do
write(g,v[i],' ');
close(f);
close(g);
end.