社区讨论

求教这个python怎么优化

P1002[NOIP 2002 普及组] 过河卒参与者 3已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lo146ftf
此快照首次捕获于
2023/10/22 14:55
2 年前
此快照最后确认于
2023/11/02 14:27
2 年前
查看原帖
40分,三个TLE
代码如下:
PYTHON
global banned_position, position


def operate(n, m):
    if n < 0 or m < 0 or (n, m) in banned_position or (n, m) == (position[0], position[1]):
        return 0
    elif (n, m) == (0, 0):
        return 1
    else:
        return operate(n-1, m) + operate(n, m - 1)


n, m, *position = map(int, input().split())
banned_position = [(position[0] - 1, position[1] - 2),
                   (position[0] - 2, position[1] - 1),
                   (position[0] + 1, position[1] + 2),
                   (position[0] + 2, position[1] + 1),
                   (position[0] - 1, position[1] + 2),
                   (position[0] + 1, position[1] - 2),
                   (position[0] - 2, position[1] + 1),
                   (position[0] + 2, position[1] - 1)]
print(operate(n, m))

回复

6 条回复,欢迎继续交流。

正在加载回复...