⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chessman.pas

📁 PASCAL光盘资料PASCAL光盘资料PASCAL光盘资料
💻 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 + -