horse = [0, 0]
n, m, horse[0], horse[1] = map(int, input().split())
cPoint = [tuple(horse)]
for x, y in [(2, 1), (2, -1), (-2, 1), (-2, -1), (1, 2), (-1, 2), (1, -2), (-1, -2)]:
cx, cy = horse[0] + x, horse[1] + y
if 0 <= cx <= n and 0 <= cy <= m:
cPoint.append((cx, cy))
dp = [0] * (m + 1)
dp[0] = 1
for i in range(n + 1):
if (i, 0) in cPoint:
dp[0] = 0
for j in range(1, m + 1):
dp[j] = 0 if (i, j) in cPoint else dp[j] + dp[j - 1]
print(dp[-1])
洛谷 python P1002 [NOIP2002 普及组] 过河卒
于 2024-03-31 19:33:39 首次发布