用Python写咋一直RE啊555
查看原帖
用Python写咋一直RE啊555
984245
iceray楼主2023/4/3 00:47
lst = list(map(int,input()))
bx, by, mx, my = lst

def countstep(i, j):
    if i == 1 and j == 0:
        return 1
    elif i == 0 and j == 1:
        return 1
    else:
        f = [[0] * (j + 1) for _ in range(i + 1)]
        f[1][0] = 1
        f[0][1] = 1
        for m in range(1, i + 1):
            for n in range(1, j + 1):
                f[m][n] = f[m - 1][n] + f[m][n - 1]
        return f[i][j]


sum = countstep(bx, by)
jianqu = countstep(mx, my)

if mx - 1 in range(bx + 1):
    if my + 2 in range(by + 1):
        jianqu += countstep(mx - 1, my + 2)
    if my - 2 in range(by + 1):
        jianqu += countstep(mx - 1, my - 2)
if mx + 1 in range(bx + 1):
    if my + 2 in range(by + 1):
        jianqu += countstep(mx + 1, my + 2)
    if my - 2 in range(by + 1):
        jianqu += countstep(mx + 1, my - 2)

if mx - 2 in range(bx + 1):
    if my + 1 in range(by + 1):
        jianqu += countstep(mx - 2, my + 1)
    if my - 1 in range(by + 1):
        jianqu += countstep(mx - 2, my - 1)
if mx + 2 in range(bx + 1):
    if my + 1 in range(by + 1):
        jianqu += countstep(mx + 2, my + 1)
    if my - 1 in range(by + 1):
        jianqu += countstep(mx + 2, my - 1)

print(sum-jianqu)
2023/4/3 00:47
加载中...