Codeforces Round 913 (Div. 3) |
---|
Закончено |
В конце дня Анне нужно выключить свет в офисе. Есть $$$n$$$ ламп и $$$n$$$ выключателей, но схема их работы довольно странная. Выключатель $$$i$$$ меняет состояние лампы $$$i$$$, но также меняет состояние другой лампы $$$a_i$$$ (изменение состояния означает, что если лампа была включена, она выключается, и наоборот).
Помогите Анне выключить все лампы, используя минимальное количество выключателей, или скажите, что это невозможно.
Первая строка входных данных содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следуют описания наборов.
Первая строка каждого набора содержит целое число $$$n$$$ ($$$2 \le n \le 10^5$$$) — количество ламп.
Вторая строка каждого набора содержит строку из $$$n$$$ символов — начальное состояние ламп. Символ «0» означает, что соответствующая лампа выключена, а «1» означает, что она включена.
Третья строка каждого набора содержит $$$n$$$ целых чисел $$$a_i$$$ ($$$1 \le a_i \le n$$$, $$$a_i \neq i$$$) — выключатель $$$i$$$ меняет состояние лампы $$$i$$$ и лампы $$$a_i$$$.
Гарантируется, что сумма $$$n$$$ по всем наборам не превышает $$$2 \cdot 10^5$$$
Для каждого набора входных данных выведите целое число $$$k$$$ — минимальное количество выключателей, которое нужно использовать, затем в отдельной строке выведите список из $$$k$$$ выключателей.
Если невозможно выключить все лампы, выведите одно целое число $$$-1$$$.
85111014 3 4 2 22102 11000000000119 10 10 7 10 9 9 9 10 21010001111019 3 8 9 2 1 3 7 2 71000011010105 7 6 10 8 3 6 6 2 21001011000108 7 7 9 9 4 1 4 2 71010101110107 9 10 7 7 2 8 6 10 41011100000013 10 10 1 10 8 6 3 2 1
3 1 5 3 -1 1 9 5 5 6 10 2 3 6 4 9 5 10 8 7 3 5 4 9 6 1 3 5 9 7 8 2 2 1
Название |
---|