比赛 搜索题... 评测结果 AAAAAAAAAA
题目名称 跳马问题 最终得分 100
用户昵称 return 0; 运行时间 0.003 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2014-11-04 17:40:20
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;

int m,n;
int f[20][20];

int dfs(int x,int y)
{
	if(f[x][y]>0||y==0) return f[x][y];
	if(x>=1&&y-2>=0) f[x][y]+=dfs(x-1,y-2);
	if(x>=2&&y-1>=0) f[x][y]+=dfs(x-2,y-1);
	if(x+1<m&&y-2>=0) f[x][y]+=dfs(x+1,y-2);
	if(x+2<m&&y-1>=0) f[x][y]+=dfs(x+2,y-1);
	return f[x][y];
}

void init()
{
	scanf("%d%d",&m,&n);
	memset(f,0,sizeof(f));
	f[0][0]=1;
	int ans=dfs(m-1,n-1);
	printf("%d",ans);
}
int main()
{
    freopen("horse.in","r",stdin);
    freopen("horse.out","w",stdout);
	init();
}