Pagini recente » Cod sursa (job #638909) | Cod sursa (job #1527470) | Cod sursa (job #3151553) | Cod sursa (job #2226595) | Cod sursa (job #542675)
Cod sursa(job #542675)
type mat=array[1..20000,1..20000] of 0..1;
vek=array[1..50000] of 0..1;
mut=^elem;
elem=record
inf:integer;
elo:mut;
end;
var n,m,i,j,a,b:integer; x:mat; jr:vek; f,g:text; v:vek; top:mut;
procedure push(var top:mut; a:integer);
var p:mut;
begin
new(p);
p^.inf:=a;
if top<>nil then p^.elo:=top
else p^.elo:=nil;
top:=p;
end;
procedure df(k:integer);
var i:integer;
begin
jr[k]:=1;
for i:=1 to n do begin
if (x[k,i]=1)and(jr[i]=0) then df(i);
end;
push(top,k);
end;
begin
top:=nil;
assign(f,'sortaret.in');
reset(f);
readln(f,n,m);
for i:=1 to n do jr[i]:=0;
for i:=1 to m do begin
readln(f,a,b);
x[a,b]:=1;
end;
close(f);
for i:=1 to n do
if jr[i]=0 then df(i);
assign(g,'sortaret.out');
rewrite(g);
write(g,top^.inf,' ');
while top^.elo<>nil do begin
top:=top^.elo;
write(g,top^.inf,' ');
end;
close(g);
end.