P17838 黑白树

题目描述

给定一棵以 $1$ 为根且有 $n$ 个节点的有根树。 每个结点 $u$ 均有 $col_u \in \{0,1\}$ 表示结点 $u$ 的颜色为白色或黑色。 Alice 与 Bob 在这棵树上进行游戏。Alice 先手,之后双方轮流操作。 每次操作时,当前玩家必须选择一个黑色节点 $u$,并依次执行以下操作: 1. 将 $u$ 的颜色修改为白色。 2. 从 $u$ 的子树中除 $u$ 自身以外的结点组成的集合中,任选一个子集(可以为空集),并改变其中所有结点的颜色(黑变为白,白变为黑)。 若轮到某位玩家操作时不存在黑色节点,则该玩家无法进行操作并输掉游戏。 假设 Alice 和 Bob 均采取最优策略,请判断最终的赢家。

输入格式

第一行一个整数 $T$($1 \leq T \leq 2 \times 10^5$),表示测试数据的组数。 对于每组测试数据: - 第一行一个整数 $n$(保证 $1 \leq \sum n \leq 2 \times 10^5$),表示树中的结点数量。 - 第二行 $n$ 个整数 $col_i$($col_i \in \{0,1\}$),表示结点 $i$ 的颜色。 - 接下来 $n-1$ 行,每行两个整数 $u$ 和 $v$($1 \le u,v \le n$),表示结点 $u$ 与 $v$ 之间有一条边。

输出格式

对于每组测试数据,输出一行: - 如果 Alice 存在必胜策略,请输出 $\texttt{Alice}$ - 否则输出 $\texttt{Bob}$

说明/提示

对于第一组测试数据: ![](https://cdn.luogu.com.cn/upload/image_hosting/263vc78h.webp) 无论 Alice 操作结点 $2$ 还是 $3$,Bob 都可以操作另一个结点获得胜利。 对于第二组测试数据: ![](https://cdn.luogu.com.cn/upload/image_hosting/con18hfa.webp) Alice 可以选择对结点 $1$ 操作,并选择子集 $\{2,3\}$,直接将所有结点变为白色获得胜利。