Pagini recente » Statistici Zinnenberg Gruhten (gruhten) | Cod sursa (job #2181392) | Cod sursa (job #48235) | Cod sursa (job #873147) | Cod sursa (job #144693)
Cod sursa(job #144693)
type pelem=^elem;
elem=record
info:longint;
next:pelem;
end;
var fi,fo:text;
s:array[1..50000]of byte;
final:array[1..50000]of longint;
v:array[1..50000]of pelem;
n,m,i,v1,v2,ct:longint;
procedure push(var first:pelem; vl:longint);
var p:pelem;
begin
new(p);
p^.info:=vl;
p^.next:=first;
first:=p;
end;
procedure pop(var first:pelem; var vl:longint);
var p:pelem;
begin
vl:=first^.info;
p:=first;
first:=first^.next;
dispose(p);
end;
procedure df(nod:longint);
var k:longint;
begin
s[nod]:=1;
while v[nod]<>nil do
begin
pop(v[nod],k);
if s[k]=0 then df(k);
end;
inc(ct);
final[ct]:=nod;
end;
begin
assign(fi,'sortaret.in'); reset(fi);
assign(fo,'sortaret.out'); rewrite(fo);
read(fi,n,m);
for i:=1 to m do
begin
read(fi,v1,v2);
push(v[v1],v2);
end;
ct:=0;
for i:=1 to n do
if s[i]=0 then df(i);
for i:=ct downto 1 do
write(fo,final[i],' ');
close(fi);
close(fo);
end.