1

我正在处理一个属于 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(在线评分者)上,它所做的只是说我的部分问题是错误的。

4

2 回答 2

1

这是一个因您的代码而失败的测试用例:

2
10 4
3 2

你能找出它失败的原因吗?

于 2021-02-22T07:57:50.500 回答
0

弄清楚为什么我的代码不能一直工作:

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

正因为如此,min(lowest_val)给了我最低的价值,按字母顺序排序。

为了解决它,我简单地将所有元素设为整数。

于 2021-02-23T03:19:42.070 回答