printРабочее место участника

printЗадачи

188. Забег (The Run)

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

В свободное время Боб тренирует детскую команду бейсболистов. Однажды он приказал команде пробежать пять кругов вокруг поля. Вскоре после начала забега Боба отвлек звонок по телефону. И пока Боб обсуждал с Алексом планы грандиозной вечеринки, забег закончился. Боб опросил несколько детей, чтобы узнать результаты забега. Но никто не мог точно вспомнить, в каком порядке они финишировали. Дети помнили только, кто бежал впереди них, кто бежал после них, и не помнили порядка среди лидеров или отстающих. Возможно даже, что кто-то ошибся или соврал, так как Боб не смог восстановить порядок финиширования по результатам опроса.
Напишите программу, которая поможет Бобу определить, в каких свидетельствах может содержаться ошибка. Известно, что не было детей, прибежавших к финишу одновременно.
В первой строке ввода содержится целое число `N\ (1≤N≤100)` – количество участников забега, опрошенных Бобом. Далее в файле следует `N` строк, содержащих несколько целых чисел, разделенных пробелами. Первым в строке идет номер участника, давшего показания. Далее в строке идет список номеров участников, прибежавших к финишу до участника, давшего показания. Список завершается числом 0. Далее в той же строке идет список номеров участников, прибежавших к финишу после участника, давшего показания. Список завершается числом 0. Номера всех участников написаны на их майках и лежат в диапазоне от 1 до 100.
Вывести число 0, если свидетельства не противоречат друг другу. Если свидетельства противоречат друг другу, но это противоречие может быть объяснено наличием ровно одного ошибочного свидетельства, то вывести в порядке возрастания список номеров участников, которые могли дать ошибочные показания, разделяя номера одним пробелом. Если противоречие не может быть объяснено одним ошибочным свидетельством, вывести число –1.

Пример ввода 1

1
2 1 0 3 0

Вывод для примера 1

0

Пример ввода 2

3
2 1 0 3 0
1 3 0 2 0
3 0 4 0

Вывод для примера 2

1 2

Пример ввода 3

3
2 1 0 3 0
1 3 0 2 0
3 2 0 1 4 0

Вывод для примера 3

-1
Условие задачи на английском языке
loading