SP11414 COT3 - Combat on a tree

题目描述

Alice 和 Bob 在一棵 $n$ 个节点的树上玩游戏。每个节点最初都是黑色或白色。 两人轮流执行以下操作:从当前树中选择一个白色节点 $v$,将路径 $(1,v)$ 上的所有白色节点都变为黑色。 最后操作的玩家获胜。Alice 是先手,求她能否必胜。如果可以,求出所有可行的第一步,按照升序输出。

输入格式

第一行输入包含一个整数 $n$,表示树中节点的数量。 第二行包含 $n$ 个整数 $c_1,c_2,\dots c_n$,表示每个点的颜色。$c_i=0$ 表示第 $i$ 个节点初始为白色,$c_i=1$ 表示为黑色。 接下来 $n-1$ 行,每行包含两个整数 $u$ 和 $v$,表示树上的一条边 $(u,v)$。

输出格式

如果先手无法取胜,输出 $-1$。 否则,求出所有可行的第一步,按照升序输出选择的节点。

说明/提示

$1 \le n \le 10^5$。