#2、#3 WA,求助
查看原帖
#2、#3 WA,求助
605777
Jasonde1024楼主2021/12/24 21:23
#include <iostream>
using namespace std;
void set_horse( long long row,  long long column,  long long m,  long long n,  long long** b);

int main() {
	 long long m, n, hm, hn;
	cin >> m >> n >> hm >> hn;
	m++, n++;
	 long long** board = new  long long* [m];
	for ( long long i = 0; i < m; i++) {
		board[i] = new  long long[n];
		for ( long long j = 0; j < n; j++) {
			board[i][j] = 1;
			if (i != 0 && j != 0) { board[i][j] = 0; }
		}
	}
	board[0][0] = 1;
	board[hm][hn] = -1;
	set_horse(hm - 2, hn - 1, m, n, board);
	set_horse(hm - 1, hn - 2, m, n, board);
	set_horse(hm + 2, hn + 1, m, n, board);
	set_horse(hm + 1, hn + 2, m, n, board);
	set_horse(hm - 1, hn + 2, m, n, board);
	set_horse(hm - 2, hn + 1, m, n, board);
	set_horse(hm + 1, hn - 2, m, n, board);
	set_horse(hm + 2, hn - 1, m, n, board);
	for ( long long i = 1; i < m; i++) {
		for ( long long j = 1; j < n; j++) {
			if (board[i][j] == -1) { continue; }
			board[i][j] = (board[i - 1][j] >= 0 ? board[i - 1][j] : 0) + (board[i][j - 1] >= 0 ? board[i][j - 1] : 0);
		}
	}
	for ( long long i = 0; i < m; i++) {
		for ( long long j = 0; j < n; j++) {
			printf("%3lld ", board[i][j]);
		}
		cout << endl;
	}
	cout << board[m-1][n-1];
	cin.get();
	cin.get();
}

void set_horse( long long row,  long long column,  long long m,  long long n,  long long** b) {
	if (row >= 0 && row < m && column >= 0 && column < n) {
		b[row][column] = -1;
	}
}

麻烦大佬看一下这几行代码,不明白错在哪里呜呜呜

2021/12/24 21:23
加载中...