eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Почтальон

Почтальон

В городе есть \textbf{n} площадей, соединенных улицами. При этом количество улиц не превышает ста тысяч и существует не более трех площадей, на которые выходит нечетное число улиц. Для каждой улицы известна ее длина. По улицам разрешено движение в обе стороны. В городе есть хотя бы одна улица. От любой площади до любой можно дойти по улицам. Почтальону требуется пройти хотя бы один раз по каждой улице так, чтобы длина его пути была наименьшей. Он может начать движение на любой площади и закончить также на любой (в том числе и на начальной). \InputFile Первая строка входного файла содержит натуральное число \textbf{n} --- количество площадей в городе (\textbf{1} ≤ \textbf{n} ≤ \textbf{1000}). Далее следуют \textbf{n} строк, задающих улицы. В \textbf{i}-ой из этих строк находится число \textbf{m_i} --- количество улиц, выходящих из площади \textbf{i}. Далее следуют \textbf{m_i} пар положительных чисел. В \textbf{j}-ой паре первое число --- номер площади, в которую идет \textbf{j}-ая улица с \textbf{i}-ой площади, а второе число --- длина этой улицы. Между двумя площадями может быть несколько улиц, но не может быть улиц с площади на нее саму. Все числа во входном файле не превосходят \textbf{10^5}. \OutputFile Если решение существует, то в первую строку выходного файла выведите одно число --- количество улиц в искомом маршруте (считая первую и последнюю), а во вторую --- номера площадей в порядке их посещения. Если решений нет, выведите в выходной файл одно число \textbf{-1}. Если решений несколько, выведите любое.
Лимит времени 2 секунды
Лимит использования памяти 256 MiB
Входные данные #1
4
2 2 1 2 2
4 1 2 4 4 3 5 1 1
2 2 5 4 8
2 3 8 2 4
Выходные данные #1
5
1 2 4 3 2 1
Автор Виталий Гольдштейн
Источник Зимняя школа, Харьков 2011, День 9