求教这个python怎么优化
查看原帖
求教这个python怎么优化
389915
ERIC_XIE楼主2023/10/11 19:18

40分,三个TLE

代码如下:

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))

2023/10/11 19:18
加载中...