过河卒 求教 问题在哪里?错了两组数据
查看原帖
过河卒 求教 问题在哪里?错了两组数据
1515093
BYBLDFJ楼主2024/10/26 00:33
#include<iostream>
using namespace std;
bool sta(int i, int j, int x, int y ) {
	if ((i == x && j == y) || (i == x - 2 && j == y - 1) || (i == x - 1 && j == y - 2)
	    || (i == x + 1 && j == y - 2) || (i == x + 2 && j == y - 1) || (i == x - 1 && j == y + 2)
	    || (i == x - 2 && j == y + 1) || (i == x + 2 && j == y + 1) || (i == x + 1 && j == y + 2)) {
		return 1;
	} else
		return 0;
}
int main () {
	int n = 6, m = 6, x = 3, y = 3;
	cin >> m >> n >> x >> y;
	int A[n + 2][m + 2] {0};
	for (int i = 0; i < n + 2; i++) {
		for (int j = 0; j < m + 2; j++) {
			A[i][j] = 0;
		}
	}
	for (int i = 0; i < n + 1; i++) {
		for (int j = 0; j < m + 1; j++) {
			if (sta(j, i + 1, x + 1, y + 1)) {
				A[i + 1][j] = 0;
			}
			if (sta(j + 1, i, x + 1, y + 1)) {
				A[i][j + 1] = 0;
			}
			A[1][1] = 1;
			A[i + 1][j + 1] = A[i + 1][j] + A[i][j + 1];
			A[1][1] = 1;
		}
	}
	cout << A[n + 1][m + 1] << endl;
	return 0;
}
2024/10/26 00:33
加载中...