#1下载下来vs都跑过了为什么洛谷说我re
查看原帖
#1下载下来vs都跑过了为什么洛谷说我re
1068985
Hopoyage楼主2024/1/21 15:17
#include<iostream>
using namespace std;
const int N = 30;
const int dx[8] = { 1,1,-1,-1,2,2,-2,-2 };
const int dy[8] = { 2,-2,2,-2,1,-1,1,-1 };
long long f[N][N] = { 0 };	//f[i][j] means ways from 0,0 to i,j
int n, m, x, y;
bool vis[N][N];
int main() {
	cin >> n >> m >> x >> y;
	vis[0][0] = 1;
	vis[x][y] = 1;

	for (int i = 0; i < 8; i++) {
		int xx = x + dx[i], yy = y + dy[i];
		vis[xx][yy] = 1;
	}

	f[0][0] = 1;

	for (int i = 0; i <= n; i++) {
		for (int j = 0; j <= m; j++) {
			if (!vis[i][j]) {
				if (i - 1 < 0) {
					f[i][j] = f[i][j - 1];
				}
				if (j - 1 < 0) {
					f[i][j] = f[i - 1][j];
				}
				else {
					f[i][j] = f[i - 1][j] + f[i][j - 1];
				}
			}
		}
	}

	

	cout << f[n][m];
	return 0;
}
2024/1/21 15:17
加载中...