比赛 20140714下午练习 评测结果 AAAAAAAAAA
题目名称 跳马问题 最终得分 100
用户昵称 RACHE 运行时间 0.070 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2014-07-14 15:06:14
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<fstream>
using namespace std;
ifstream fin("horse.in");
ofstream fout("horse.out");
int a[10000][2],gx[5]={0,1,2,2,1},gy[5]={0,-2,-1,1,2},s=0,x,y;
void hop(int k)
{
	for(int i=1;i<=4;i++)
	{
		if((a[k-1][1]+gx[i]<=x)&&(a[k-1][1]+gx[i]>=1)&&(a[k-1][2]+gy[i]<=y)&&(a[k-1][2]+gy[i]>=1))
		{
			a[k][1]=a[k-1][1]+gx[i];
			a[k][2]=a[k-1][2]+gy[i];
			if((a[k][1]==x)&&(a[k][2]==y))
				s++;
			else
				hop(k+1);
		}
	}
}
int main()
{
	fin>>y>>x;
	a[1][1]=1;
	a[1][2]=1;
	hop(2);
	fout<<s;
	return 0;
}