× 60 Runtime Error
查看原帖
× 60 Runtime Error
1220130
520_forever_love_you楼主2024/6/7 00:59

大家有空可以帮我检查一下代码哈,找出错误之处,1和4两个测试点一直RE

#include<bits/stdc++.h>
#define ll long long
using namespace std; 
const long long MAXN = 500;
ll n, m, a, b;
ll f[MAXN][MAXN];
bool cmp[MAXN][MAXN];

signed main(){
	cin >> n >> m >> a >> b;
	cmp[a][b] = 1;
	for(ll i = a - 2; i <= a + 2; i++){
		for(ll j = b - 2; j <= b + 2; j++){
			if((abs(a - i) + abs(b - j) == 3) && (max(abs(a - i), abs(b - j)) == 2)){
				cmp[i][j] = 1;
			}
		}
	}
	f[0][0] = 1;
	for(ll i = 1; i <= n; i++){
		if(cmp[i][0] == 1)  f[i][0] = 0;
		else  f[i][0] = f[i-1][0];
	}
	for(ll i = 1; i <= m; i++){
		if(cmp[0][i] == 1)  f[0][i] = 0;
		else  f[0][i] = f[0][i-1];
	}
	for(ll i = 1; i <= n; i++){
		for(ll j = 1; j <= m; j++){
			if(cmp[i][j] == 1)  f[i][j] = 0;
			else  f[i][j] = f[i-1][j] + f[i][j-1];
		}
	}
//	for(ll i = 0; i <= n; i++){ 调试代码
//		for(ll j = 0; j <= m; j++){
//			cout << f[i][j] << " ";
//		}
//		cout << endl;
//	}
	cout << f[n][m] << '\n';
	return 0;
}

2024/6/7 00:59
加载中...