AT_agc010_f [AGC010F] Tree Game
题目描述
有一棵包含 $N$ 个顶点的树,顶点编号为 $1$ 到 $N$。此外,第 $i$ 条边连接了顶点 $a_i$ 和顶点 $b_i$。
现在,每个顶点 $i$ 上放有 $A_i$ 个石子。高桥君和青木君打算用这棵树进行游戏。
首先,高桥君选择一个顶点,并将棋子放在该顶点上。之后,从高桥君开始,双方轮流进行以下操作:
- 从当前棋子所在的顶点取走一个石子。
- 然后选择一个与当前顶点相邻的顶点,将棋子移动到该顶点。
如果当前棋子所在的顶点没有石子可取,则无法进行操作,该玩家判负。请你求出所有高桥君可以选择并保证获胜的初始顶点编号,并按升序输出。
输入格式
输入以以下格式从标准输入读入。
> $N$ $A_1$ $A_2$ … $A_N$ $a_1$ $b_1$ : $a_{N-1}$ $b_{N-1}$
输出格式
请按升序输出所有高桥君可以选择并保证获胜的初始顶点编号,输出在一行内,用空格分隔。
说明/提示
## 限制条件
- $2 \leq N \leq 3000$
- $1 \leq a_i, b_i \leq N$
- $0 \leq A_i \leq 10^9$
- 给定的图一定是一棵树。
## 样例解释 1
当高桥君将棋子放在顶点 $2$ 时,游戏可能如下进行:
- 高桥君将棋子移动到顶点 $1$。此时各顶点的石子数为 $(1,1,3)$。
- 青木君将棋子移动到顶点 $2$。此时各顶点的石子数为 $(0,1,3)$。
- 高桥君将棋子移动到顶点 $1$。此时各顶点的石子数为 $(0,0,3)$。
- 青木君无法取石子,因此高桥君获胜。
## 样例解释 3
请注意,可能不存在满足条件的顶点。
由 ChatGPT 4.1 翻译