Проблемы с 2d-массивами в CCC 2018 j4 problem

Я работаю над вопросом, который является частью 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() ищет наименьшее число из четырех углов, которые я добавил в список lowest_val.

Я не могу найти тест, в котором это не удается, и это может быть моей самой большой проблемой. На dmoj (онлайн-грейдер) все, что он делает, это говорит, что я неправильно понял часть вопроса.

2 ответа

Вот тестовый пример, который не работает с вашим кодом:

      2
10 4
3 2

Вы можете узнать, почему это не удается?

Выяснили, почему мой код не работал все время:

Когда я добавил углы списка в lowest_val все элементы были строками, а не целыми числами.

Из-за этого, min(lowest_val) получил наименьшее значение, отсортированное по алфавиту.

Чтобы решить эту проблему, я просто сделал все элементы целыми числами.

Другие вопросы по тегам