萌新python40分求助 wa显示好像都是第一行(?
查看原帖
萌新python40分求助 wa显示好像都是第一行(?
596829
pineappe030816楼主2022/3/20 11:45

mx, my, hx, hy = map(int,input().split()) num_list = [[0] * 23 for i in range(23)] # 创造地图 num_list[hx][hy] = -2 # 设定马的坐标

for j in range(len(num_list)): for i in num_list[j]: if i == -2: i = hy # 这里设马可以走的坐标 num_list[j + 1][i + 2] = -1 num_list[j + 2][i + 1] = -1

        num_list[j - 1][i + 2] = -1
        num_list[j + 2][i - 1] = -1

        num_list[j + 1][i - 2] = -1
        num_list[j - 2][i + 1] = -1

        num_list[j - 1][i - 2] = -1
        num_list[j - 2][i - 1] = -1

for i in range(len(num_list)):# 让第一行-1前的元素为1 if num_list[i][0] == -1: break else: num_list[i][0] = 1 for i in range(len(num_list[0])):# 让第一列-1前的元素为1 if num_list[0][i] == -1: break else: num_list[0][i] = 1

for j in range(1, len(num_list)): # dp for i in range(1, len(num_list[0])): if num_list[j][i] == -1 or num_list[j][i] == -2: continue else: if num_list[j-1][i] >= 0: num_list[j][i] += num_list[j-1][i]

        if num_list[j][i-1] >= 0:
            num_list[j][i] += num_list[j][i-1]

print(num_list[mx][my])

2022/3/20 11:45
加载中...