Pagini recente » Cod sursa (job #1005982) | Cod sursa (job #1401353) | Cod sursa (job #1499718) | Cod sursa (job #3239155) | Cod sursa (job #541540)
Cod sursa(job #541540)
uses crt;
type mut=^elem;
elem=record
inf:integer;
kov:mut;
end;
matr=array[1..20000,1..20000] of boolean;
vekt=array[1..50000]of boolean;
var i,j,k,m,n:integer;
x:matr;
top:mut;
f:text;
jart:vekt;
procedure push(var top:mut;a:integer);
var p:mut;
begin
new(p);
p^.inf:=a;
p^.kov:=top;
top:=p;
end;
procedure df(a:integer);
var p:integer;
begin
jart[a]:=true;
for p:=1 to n do
if (x[a,p]) and (not(jart[p])) then df(p);
push(top,a);
end;
procedure kiir(top:mut);
var p:mut;
begin
new(p);
p:=top;
while p<>nil do
begin
write(f,p^.inf,' ');
p:=p^.kov;
end;
end;
begin
assign(f,'sortaret.in');
reset(f);
readln(f,n,m);
for i:=1 to n do
for j:=1 to n do x[i,j]:=false;
for i:=1 to m do
begin
readln(f,j,k);
x[j,k]:=true;
end;
close(f);
top:=nil;
for i:=1 to n do jart[i]:=false;
for i:=1 to n do
if not(jart[i]) then df(i);
assign(f,'sortaret.out');
rewrite(f);
kiir(top);
close(f);
end.