记录编号 138186 评测结果 AAAAAAAAAA
题目名称 跳马问题 最终得分 100
用户昵称 Gravatarinfnite albert 是否通过 通过
代码语言 Pascal 运行时间 0.071 s
提交时间 2014-11-05 19:04:24 内存使用 0.17 MiB
显示代码纯文本
const dx:array[1..4]of -2..2=(-2,-1,1,2);
		 dy:array[1..4]of 1..2=(1,2,2,1);
var   m,n,totel:longint;
        f:array[1..20,1..20]of boolean;
procedure dfs(x,y:longint);
var k:longint;
begin
     if (x=m)and(y=n) then 
		 begin
	         inc(totel);
	         exit;
	     end;
	 for k:=1 to 4 do
		 if ((x+dx[k])<=m)and((x+dx[k])>=1)and((y+dy[k])<=n)and((y+dy[k])>=1) then
			 if f[x+dx[k],y+dy[k]] then 
		         begin
					 f[x+dx[k],y+dy[k]]:=false;
		             dfs(x+dx[k],y+dy[k]);
				     f[x+dx[k],y+dy[k]]:=true;
		         end;
end;
begin
	 assign(input,'horse.in');assign(output,'horse.out');reset(input);rewrite(output);
     read(m,n);
	 fillchar(f,sizeof(f),true);
	 dfs(1,1);
	 write(totel);
	 close(input);close(output);
end.