CCC 2018 j4问题中的2d阵列问题

2024-04-28 04:10:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究一个属于CCC的问题(问题:https://dmoj.ca/problem/ccc18s2)。我有我的代码,但它并不总是有效。当我把我的代码输入在线评分器(可以在链接页面上找到)时,我只得到3/15分。我自己输入的所有信息似乎都有效,但评分员似乎不同

我的代码:

lowest_val = []
flower=[]

n = int(input())
for i in range(0,n):
    flower.append(input().split(" "))

lowest_val.append(flower[0][0])
lowest_val.append(flower[0][n-1])
lowest_val.append(flower[n-1][0])
lowest_val.append(flower[n-1][n-1])

while True:
    if flower[0][0] == min(lowest_val):
        for row in flower:
            for i in row:
                print(i, end=" ")
            print()
        break
    flower = list(zip(*flower[::-1]))

为了回答这个问题,我可以简单地检查左上角是否是最小的角,因此flower[0][0]必须是最小的角

min()查找我添加到列表中的4个角中的最小数lowest_val

我找不到这样失败的测试,这可能是我最大的问题。在dmoj(在线评分器)上,它所做的只是说我把问题的一部分搞错了


Tags: 代码inhttpsforinputvalmin评分
2条回答

找出我的代码一直无法工作的原因:

当我将列表角添加到lowest_val时,元素都是字符串,而不是整数

因此,min(lowest_val)得到了按字母顺序排序的最低值

为了解决这个问题,我把所有的元素都变成整数

下面是一个代码失败的测试用例:

2
10 4
3 2

你能找出它失败的原因吗

相关问题 更多 >