Проблемы с 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)
получил наименьшее значение, отсортированное по алфавиту.
Чтобы решить эту проблему, я просто сделал все элементы целыми числами.