WAon#3#4开了long long求调
查看原帖
WAon#3#4开了long long求调
1411354
xf20280111楼主2025/1/28 13:59
#include<bits/stdc++.h>
using namespace std;
const long long N = 20 + 10;
long long a[N][N],n,m,dp[N][N];
bool check(long long x,long long y){
	return x >= 0 and x <= n and y >= 0 and y <= m; 
}
int main()
{
	long long x,y;
	cin >> n >> m >> x >> y;
	a[x][y] = 1;
	if (check(x + 1,y - 2)) a[x + 1][y - 2] = 1;
	if (check(x + 1,y + 2)) a[x + 1][y + 2] = 1;
	if (check(x + 2,y + 1)) a[x + 2][y + 1] = 1;
	if (check(x + 2,y - 1)) a[x + 2][y - 1] = 1;
	if (check(x - 1,y + 2)) a[x - 1][y + 2] = 1;
	if (check(x - 1,y - 2)) a[x - 1][y - 2] = 1;
	if (check(x - 2,y + 1)) a[x - 2][y + 1] = 1;
	if (check(x - 2,y - 1)) a[x - 2][y - 1] = 1;
	dp[0][0] = 1;
	for (long long i = 0;i <= n;i++){
		if (a[i][0] == 0) dp[i][0] = 1;
	}
	for (long long i = 0;i <= m;i++){
		if (a[0][i] == 0) dp[0][i] = 1;
	}
	for (long long i = 1;i <= n;i++){
		for (long long j = 1;j <= m;j++){
			if (a[i][j] == 1) continue;
			dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
		}
	}
	cout << dp[n][m];
	return 0;
}
2025/1/28 13:59
加载中...