horse.pas

来自「关于课件 好多种结构的算法 等等 大家自己看吧」· PAS 代码 · 共 55 行

PAS
55
字号
program jumphorse(input,output);
const
  aa=5;
var
 a:array[1..aa,1..aa] of integer;
 x,y:array[1..8] of integer;
 i,j,step,result:integer;
procedure print;
 var
  i,j:integer;
 begin
  writeln('result=',result);
  for i:=1 to aa do
   begin
    for j:=1 to aa do
     write(a[i,j]:3);
    writeln;
   end;
 end;
procedure try(i,j:integer);
 var
  r,c,k:integer;
 begin
  for k:=1 to 8 do
   begin
    r:=i+x[k];
    c:=j+y[k];
    if (r>0)and(r<=aa)and(c>0)and(c<=aa)and(a[r,c]=0) then
     begin
      a[r,c]:=step;
      step:=step+1;
      if step<=aa*aa then try(r,c)
      else
        begin
         result:=result+1;
         if result<=5 then print;
        end;
      a[r,c]:=0;
      step:=step-1;
     end;
   end;
 end;
begin
 for i:=1 to aa do
  for j:=1 to aa do
   a[i,j]:=0;
 x[1]:=2; x[2]:=2;  x[3]:=1; x[4]:=1;
 y[1]:=1; y[2]:=-1; y[3]:=2; y[4]:=-2;
 x[5]:=-1; x[6]:=-1; x[7]:=-2; x[8]:=-2;
 y[5]:=2;  y[6]:=-2; y[7]:=1;  y[8]:=-1;
 step:=2; result:=0;
 a[1,1]:=1;
 try(1,1);
 writeln('result=',result);
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?