代码如下
#include <bits/stdc++.h>
using namespace std;
#define maxn 22
long long ma[maxn][maxn];
int n,m,a,b,way[9][2] = {{0,0},{2,1},{2,-1},{1,2},{1,-2},{-1,2},{-1,-2},{-2,1},{-2,-1}};
int main(){
scanf("%d%d%d%d",&n,&m,&a,&b);
memset(ma,-1,sizeof(ma));
ma[0][0] = 1;
for(int i = 0;i < 9;i++){
int c = a + way[i][0],d = b + way[i][1];
if(c >= 0 && c <= n && d >= 0 && d <= m)ma[c][d] = 0;
}
for(int i = 0;i <= m;i++)
if(ma[0][i] == -1)
ma[0][i] = ma[0][0];
for(int i = 0;i <= n;i++)
if(ma[i][0] == -1)
ma[i][0] = ma[0][0];
for(int i = 0;i <= n;i++)
for(int j = 0;j <= m;j++)
if(ma[i][j] == -1)
ma[i][j] = ma[i - 1][j] + ma[i][j - 1];
printf("%lld",ma[n][m]);
return 0;
}
测试结果如下:
3,4 WA
3的输入:
20 20 4 0
3的标准输出:
56477364570
请dalao帮帮本蒟蒻!