📄 horse.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 + -