如题
代码如下
n, m, h1, h2 = map(int, input().strip().split())
board = [[0 for j in range(m + 1)] for i in range(n + 1)]
horse = (
(h1, h2), (h1 - 2, h2 - 1), (h1 - 2, h2 + 1), (h1 - 1, h2 - 2), (h1 - 1, h2 + 2), (h1 + 2, h2 - 1),
(h1 + 2, h2 + 1),
(h1 + 1, h2 - 2), (h1 + 1, h2 + 2))
for i in range(m + 1):
for j in range(n + 1):
if (i, j) not in horse:
if i == 0 and j == 0:
board[i][j] = 0
continue
if i == 0 and j == 1:
board[i][j] = 1
continue
if i == 1 and j == 0:
board[i][j] = 1
continue
if i == 0 or j == 0:
board[i][j] = board[i-1][j] if j == 0 else board[i][j-1]
continue
board[i][j] = board[i - 1][j] + board[i][j - 1]
print(board[n][m])