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