Python DP 60分 2RE
查看原帖
Python DP 60分 2RE
673778
Majesty_W楼主2022/1/30 17:42

如题 代码如下

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])
2022/1/30 17:42
加载中...