Республиканская олимпиада по информатике. 2018 год
Задача A. Темные комнаты
Ограничение по времени:
2 секунды
Ограничение по памяти:
256 мегабайт
У вас есть n комнат, которые соединены n-1 коридорами. Известно, что с любой комнаты можно дойти до любой другой. В каждой комнате есть ровно одна лампочка. Есть m кнопок пронумерованных от 1 до m, кнопка с номером i включает или выключает лампочки во всех комнатах на пути с комнаты vi до комнаты ui. Состояние комнаты задается одним числом 0 или 1, где 0 означает лампочка выключена, а 1 означает, что она включена. Алан пришел в гости к вам. Вы узнали, что Алан будет чуствовать себя как дома, если состояния комнат будут a1, a2, ..., an для комнат от 1 до n. Вы должны найти какие кнопки и в каком порядке нажимать, чтобы Алан чуствовал себя как дома. Так как вы не хотите заставлять ждать гостя, в последовательности не может быть больше чем 105 кнопок. Если невозможно найти такую последовательность, вы должны вывести -1. Изначально все лампочки во всех комнатах выключены.
Формат входного файла
В первой строке входных данных задается одно целое число n (1≤n≤104) — количество комнат. Во второй строке задаются n чисел: a1, a2, ..., an (0≤ai≤1) желаемое состояния комнат. Каждая из следующих n-1 строк описывает один коридор двумя целыми числами v и u (1≤u,v≤n), что означает есть корридор между комнатами v и u.
В следующей строке задается одно целое число m (1≤m≤104) — количество кнопок. В каждой из следующих m строк задается описание кнопок: в i-й строке описание i-й кнопки три целых числа ui, vi и ti, где ui и vi (1≤ui,vi≤n) комнаты которые описывают путь, ti равно 0, если кнопка выключает лампочки или 1, если она включает лампочки.
Формат выходного файла
Выведите `-1'(без кавычек), если невозможно найти нужную последовательность. Иначе, выведите l количество кнопок в последовательности и в следущей строке выведите l чисел — номера кнопок в порядке из нажатия.
Система оценки
Данная задача содержит пять подзадач:
- 1≤n≤100,1≤m≤8. Оценивается в 11 баллов.
- 1≤n,m≤2000 и ti=1 для всех кнопок. Оценивается в 15 баллов.
- 1≤n,m≤500. Оценивается в 19 баллов.
- 1≤n,m≤104 и i-й коридор соединяет комнаты i и i+1. Оценивается в 25 баллов.
- 1≤n,m≤104. Оценивается в 30 баллов.
Пример:
s
Вход 6 1 1 0 0 1 1 1 2 1 3 3 4 3 5 4 6 4 1 2 1 2 5 1 3 4 0 1 6 1Ответ
3 4 2 3Вход
3 0 0 1 1 3 1 2 1 1 3 1Ответ
-1
Замечание
{
\center
\includegraphics[width=1.0\textwidth]{sample.eps}
} ( Yerzhan Utkelbayev )
Комментарий/решение:
Возможно, что при неправильном наборе формул, они будут
доредактированы модератором. При этом содержание не будет меняться.