为什么第四个点会WA??!!!!
查看原帖
为什么第四个点会WA??!!!!
636197
Light_Pursuer楼主2022/11/19 16:10
#include <iostream>
#define ll long long
using namespace std;
ll vis[105][105];
ll dir[8][2] = {{-2, -1}, {-2, 1}, {-1, -2}, {-1, 2}, {1, -2}, {1, 2}, {2, -1}, {2, 1}};
ll dp[105][105];
int main() {
	ll n, m, x, y;
	cin >> n >> m >> x >> y;
	vis[x][y] = true;
	for(ll i = 0; i < 8; i++) {
		ll tx = x + dir[i][0], ty = y + dir[i][1];
		if (tx > n || tx < 1 || ty > m || ty < 1) {
			continue;
		}
		vis[tx][ty] = true;
	}
	dp[0][0] = 1;
	for (ll i = 0; i <= n; i++) {
		for (ll j = 0; j <= m; j++) {
			if (vis[i][j]) continue;
			if (!vis[i - 1][j]) dp[i][j] += dp[i - 1][j];
			if (!vis[i][j - 1]) dp[i][j] += dp[i][j - 1];
		}
	}
	cout << dp[n][m] <<endl;
	return 0;
} 
2022/11/19 16:10
加载中...