Проблемы с URI / UVA при вводе Python - PullRequest
0 голосов
/ 28 апреля 2020

Во-первых, я извиняюсь за ваше время, ребята, чтобы помочь мне с этими глупыми безумными проблемами ввода, но я уже прочитал alllll Inte rnet и попробовал все возможные варианты. Я пытаюсь решить URI 1260 / UVA 10226 и ошибка превышения лимита времени сохраняется.

Проблема заключается в том, как онлайн-судьи вносят свой вклад. Поскольку мы не знаем, сколько строк является входным, для остановки программы необходимо выполнить проверку "" или EOF. Вот фрагмент кода, который делает чтение:

for case in range(cases):
    arvres = []
    dict_arvres.clear()
    try:
        while True:
            arvre = input()
            if arvre == "":
                break
            arvres.append(arvre)
    except EOFError:
        break

, но один пример ввода будет выглядеть так:

2

Red Alder
Ash
Aspen
Basswood
Ash
Ash
Cherry
Cottonwood

Red Alder
Ash
Aspen
Basswood
Hard Maple
White Oak
Soft Maple
Soft Maple
Red Oak
Red Oak
White Oak

Там нет пустой строки после последнего дерева, поэтому вход останавливает программу, ожидающую вход, что приводит к проблеме ограничения по времени. Код не может распознать EOF (после последнего "Белого Дуба"). Я перепробовал почти все, но мне нужен какой-то способ решить эту непризнание EOF.
Любая подсказка очень приветствуется. Большое спасибо!

...