📄 chessman.pas
字号:
program chessman(input,output);
const max=100;
var n,st,sp:integer;
c:array[1..max] of char; {工作场所}
procedure print; {打印}
var i:integer;
begin
write('step',st:2,':');
for i:=1 to 2*n+2 do write(c[i]);
writeln;
st:=st+1
end;
procedure init(n:integer); {初始化}
var i:integer;
begin
st:=0;
sp:=2*n+1;
for i:=1 to n do c[i]:='o';
for i:=n+1 to 2*n do c[i]:='*';
c[2*n+1]:='-';c[2*n+2]:='-';
print
end;
procedure move(k:integer); {移动一步}
var j:integer;
begin
for j:=0 to 1 do begin c[sp+j]:=c[k+j];c[k+j]:='-';end;
sp:=k;
print
end;
procedure mv(n:integer); {主要过程}
var i,k:integer;
begin
if n=4 then begin
move(4);
move(8);
move(2);
move(7);
move(1)
end
else begin
move(n);
move(2*n-1);
mv(n-1)
end
end;
begin {main}
assign(input,'chessman.in');
assign(output,'chessman.out');
reset(input);
rewrite(output);
readln(n);
init(n);
mv(n);
close(input);
close(output)
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -