记录编号 137518 评测结果 AAAAAAAAAA
题目名称 跳马问题 最终得分 100
用户昵称 Gravatar384226056 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2014-11-04 20:53:59 内存使用 0.32 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a,b,c[21][21]={0};
int find(int q,int w)
{
	if (c[q][w]>=0) return c[q][w];
	if (q+2==a&&w+1==b) return 1;
	if (q+1==a&&w+2==b) return 1;
	int p=0;
	if (q-2>=1&&w+1<=b) p+=find(q-2,w+1);
	if (q-1>=1&&w+2<=b) p+=find(q-1,w+2);
	if (q+2<=a&&w+1<=b) p+=find(q+2,w+1);
	if (q+1<=a&&w+2<=b) p+=find(q+1,w+2);
	c[q][w]=p;
	return p;
}
int main()
{
	freopen("horse.in","r",stdin);
	freopen("horse.out","w",stdout);
	memset(c,-1,sizeof(c));
	cin>>a>>b;
	cout<<find(1,1);
}