Pagini recente » Diferente pentru utilizator/pondorasti intre reviziile 7 si 8 | Diferente pentru utilizator/ionutz_lala intre reviziile 7 si 8 | Diferente pentru problema/pictura intre reviziile 5 si 6 | Monitorul de evaluare | Cod sursa (job #1170435)
program sortaret;
type lista=^celula;
celula=record
info:longint;
pred:lista;
end;
var a:array[1..100000] of lista;
r:lista;
n,m,i,x,y,k:longint;
t,viz:array[1..100000] of longint;
procedure dfs(nod:longint);
var r:lista;
begin
r:=a[nod];
viz[nod]:=1;
while r<>nil do begin
if viz[r^.info]=0 then dfs(r^.info);
r:=r^.pred;
end;
inc(k);
t[k]:=nod;
end;
begin
assign(input,'sortaret.in');
assign(output,'sortaret.out');
reset(input);
rewrite(output);
readln(n,m);
for i:=1 to m do
begin
readln(x,y);
new(r);
r^.info:=y;
r^.pred:=a[x];
a[x]:=r;
end;
for i:=1 to n do
if viz[i]=0 then dfs(i);
for i:=n downto 1 do write(t[i],' ');
close(output);
end.