比赛 练习赛 评测结果 AAAAAAAAAA
题目名称 跳马问题 最终得分 100
用户昵称 氢氦 运行时间 0.046 s
代码语言 C++ 内存使用 13.66 MiB
提交时间 2019-05-21 20:34:29
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int n,m,ans;
int d[4][2]={{1,2},{2,1},{1,-2},{2,-1}};

void dfs(int x,int y)
{
    if(x==m&&y==n){++ans; return ;}
    for(int k=0;k<4;k++)
    {
        int u=x+d[k][0],v=y+d[k][1];
        if(u>=0&&u<=m&&v>=0&&v<=n){
            dfs(u,v);
        }
    }
}

int main()
{
	freopen("horse.in","r",stdin);
	freopen("horse.out","w",stdout);
    scanf("%d%d",&n,&m);
    n--,m--;
    dfs(0,0);
    printf("%d",ans);
    return 0;
}