60分求助!!!
查看原帖
60分求助!!!
816837
nameless_miao楼主2023/12/16 16:50

代码如下

#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帮帮本蒟蒻!

2023/12/16 16:50
加载中...