python新手 0pts 求助
查看原帖
python新手 0pts 求助
104379
Cesare楼主2022/10/11 20:21

本机和在线IDE都能过测试点1,提交WA

# -*- coding: utf-8 -*-
s = input()
cnt = 0
F = 1
a = [0, 0, 0, 0, 0]
for i in s:
    if i == ' ' and F == 1:
        F = 0
        cnt = cnt + 1
        continue
    elif i == ' ':
        continue
    F = 1
    a[cnt] = a[cnt] * 10 + ord(i) - 48;
n = a[0]
m = a[1]
x = a[2]
y = a[3]
f = [[0] * (m + 2) for _ in range(n + 2)]
for i in range(0, n + 1):
    for j in range(0, m + 1):
        f[i][j] = 0
f[0][0] = 1
for i in range(0, n + 1):
    for j in range(0, m + 1):
        if (i == x) and (j == y):
            continue
        if (i == x - 1) and (j == y - 2): 
            continue
        if (i == x - 2) and (j == y - 1): 
            continue
        if (i == x - 1) and (j == y + 2): 
            continue
        if (i == x - 2) and (j == y + 1): 
            continue
        if (i == x + 1) and (j == y - 2): 
            continue
        if (i == x + 2) and (j == y - 1): 
            continue
        if (i == x + 1) and (j == y + 2): 
            continue
        if (i == x + 2) and (j == y + 1): 
            continue
        if i > 0: 
            f[i][j] += f[i - 1][j]
        if j > 0:
            f[i][j] += f[i][j - 1]
print("%d" % f[n][m], end = '\n')
2022/10/11 20:21
加载中...