?? rotcelem.pas
字號(hào):
{nu merge}
type stiva=array[1..50] of integer;
var st:stiva;
m,n,i,j,k:integer;
a:array[1..50,1..50] of integer;
as,ev:boolean;
f:text;
procedure init(var st:stiva;k:integer);
begin
st[k]:=0;
end;
procedure succesor(var st:stiva;k:integer;var as:boolean);
begin
if st[k]<n then begin
inc(st[k]);
as:=true;
end
else as:=false;
end;
procedure valid(st:stiva;k:integer;var ev:boolean);
var i:integer;
begin
ev:=true;
if (k>1) and (a[st[k-1],st[k]]=0) then ev:=false;
for i:=2 to k-1 do
if st[k]=st[i] then ev:=false;
end;
function solutie(st:stiva;k:integer):boolean;
begin
solutie:=(st[1]=st[k]);
end;
procedure tipar(st:stiva;k:integer);
var i:integer;
begin
for i:=1 to k do
write(st[i], ' ');
end;
begin
assign(f,'g.txt');
reset(f);
readln(f,m,n);
for k:=1 to m do begin
readln(f,i,j);
a[i,j]:=1;
a[j,i]:=1;
end;
close(f);
k:=1;
init(st,k);
while k>0 do begin
repeat
succesor(st,k,as);
if as then valid(st,k,ev);
until (not as) or (as and ev);
if as then
if solutie(st,k) then tipar(st,k)
else begin
inc(k);
init(st,k);
end
else dec(k);
end;
end.
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -