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

📄 horse.pas

📁 本光盘是《国际大学生程序设计竞赛例题解(一)》的配套光盘
💻 PAS
字号:
program Horse;

{$A+,B-,D+,E+,F-,G-,I+,L+,N+,O-,P-,Q-,R-,S+,T-,V+,X+,Y+}

type
  tp=array[0..4,0..5] of integer;

const
  d:array[1..2,1..8] of integer
    =((-1,-1,-2,-2,2, 2,1, 1),
      (-2, 2, 1,-1,1,-1,2,-2));

var
  chess:tp;
  sx,sy:integer;
  tot:longint;

procedure find_w(p1,p2:integer);
var
  pi,pj,i:integer;
begin
  for i:=1 to 8 do
  begin
    pi:=p1+d[1,i];
    pj:=p2+d[2,i];
    if (pi>=1) and (pj>=1) and (pi<5) and (pj<6) and (chess[pi,pj]=0) then
    begin
      chess[pi,pj]:=1;
      find_w(pi,pj);
      chess[pi,pj]:=0;
    end
    else
    if (pi=sx) and (pj=sy) then
      inc(tot);
  end;
end;

var first:integer;
begin
  first:=1;
  repeat
    if first=1 then first:=0 else writeln('ERROR');
    {$I-}
    write('X,Y=');
    readln(sx,sy);
    {$I+}
  until (ioresult=0) and (sx<=4) and (sy<=5) and (sx>0) and (sy>0);
  fillchar(chess,sizeof(tp),0);
  chess[sx,sy]:=1;
  tot:=0;
  find_w(sx,sy);
  writeln(tot);
end.

⌨️ 快捷键说明

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