Hello 2023 |
---|
Закончено |
Миша был забанен в шахматах за использование компьютера. Он отправился на пенсию и решил стать ксолдуном.
Однажды, гуляя в парке, Миша наткнулся на корневое дерево с вершинами, пронумерованными от $$$1$$$ до $$$n$$$. Корнем дерева является вершина с номером $$$1$$$.
Для всех $$$1\le i\le n$$$ в вершине $$$i$$$ лежат $$$a_i$$$ камней. Миша недавно выучил новое заклинание на уроке ксолдовства и хочет его опробовать. Заклинание состоит из нескольких шагов:
Миша может выполнить не более $$$2n$$$ заклинаний и хочет, чтобы в дереве не осталось камней. Более формально, он хочет, чтобы выполнялось $$$a_i=0$$$ для всех $$$1\leq i \leq n$$$. Можете помочь ему выполнить заклинания?
Деревом из $$$n$$$ вершин называется связный ациклический граф из $$$n-1$$$ ребра. Поддеревом вершины $$$i$$$ является множество всех вершин $$$j$$$ таких, что $$$i$$$ лежит на простом пути от $$$1$$$ (корня) к $$$j$$$. В этой задаче $$$i$$$ принадлежит собственному поддереву.
Первая строка содержит одно целое число $$$n$$$ ($$$2 \leq n \leq 2\cdot 10^5$$$) — размер дерева.
Вторая строка содержит массив целых чисел $$$a_1,a_2,\ldots, a_n$$$ ($$$0 \leq a_i \leq 31$$$), описывающий изначальное количество камней в каждой вершине дерева.
Третья строка содержит массив целых чисел $$$p_2,p_3,\ldots, p_n$$$ ($$$1 \leq p_i \leq i-1$$$), где $$$p_i$$$ обозначает, что вершины $$$p_i$$$ и $$$i$$$ соединены ребром.
Если нет подходящей последовательности заклинаний, выведите $$$-1$$$.
Иначе в первой строке выведите одно целое число $$$q$$$ ($$$0 \leq q \leq 2n$$$) — количество заклинаний в вашем решении.
Во второй строке выведите последовательность целых чисел $$$v_1,v_2,\ldots,v_q$$$ ($$$1 \leq v_i \leq n$$$): $$$i$$$-е заклинание будет выполнено к поддереву вершины $$$v_i$$$. Обратите внимание, что здесь важен порядок.
Если существует несколько решений, выведите любое из них. Вам не нужно минимизировать число операций.
2 13 13 1
1 1
7 5 2 8 3 4 1 31 1 1 2 2 3 3
-1
9 3 31 1 2 7 30 7 3 1 1 1 1 2 5 5 3 4
6 3 2 3 1 2 2
Рисунок ниже объясняет третий пример. Показаны только первые $$$4$$$ заклинания, так как последние $$$2$$$ ничего не меняют. Первый рисунок показывает начальное дерево, число камней в каждой вершине написано над вершиной зеленым. Изменения от заклинаний показаны красным.
Название |
---|