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

📄 knight.pas

📁 PASCAL光盘资料PASCAL光盘资料PASCAL光盘资料
💻 PAS
字号:
program E1_1; {knight}
const
 dx:array[1..8] of integer=(-2,-1,1,2,2,1,-1,-2);
 dy:array[1..8] of integer=(1,2,2,1,-1,-2,-2,-1);
var
 n,m,x,y,i,j: byte;
 g:array[0..20,0..20] of 0..1;
 c:longint;
 infile,outfile:text;
procedure sol(x,y:integer);
var i:integer;
begin
 if (x=n) and (y=m) then c:=c+1
  else
   begin
    if (y<m) and (g[x,y+1]=0) then sol(x,y+1);
    if (x<n) and (g[x+1,y]=0) then sol(x+1,y);
   end;
end;
begin
 assign(infile,'knight.in');
 assign(outfile,'knight.out');
 reset(infile);
 readln(infile,n,m,x,y);
 close(infile);
 g[x,y] := 1;
 for i:=1 to 8 do
 if (x+dx[i]>=0) and (x+dx[i]<=n) and (y+dy[i]>=0) and (y+dy[i]<=m) then
  g[x+dx[i],y+dy[i]]:=1;
 sol(0,0);
 rewrite(outfile);
 writeln(outfile,c);
 close(outfile);
end.

⌨️ 快捷键说明

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