CF1017G The Tree
题目描述
Abendsen 给 Juliana 分配了一个任务。在这个任务中,Juliana 有一棵包含 $n$ 个结点的有根树,结点编号为 $1$ 的结点是树的根。每个结点可以是黑色或白色。最开始,所有结点都是白色的。Juliana 需要处理 $q$ 个操作。每个操作有三种类型:
1. 如果结点 $v$ 是白色的,将其标记为黑色;否则,对 $v$ 的所有直接儿子执行此操作。
2. 将以 $v$ 为根的子树中的所有结点(包括 $v$ 本身)都标记为白色。
3. 查询第 $i$ 个结点的颜色。
如下图所示,是操作 “1 1” 的示例(对应第一个样例测试)。结点 $1$ 和 $2$ 已经是黑色,因此该操作会递归作用于它们的儿子。你能帮助 Juliana 处理所有这些操作吗?

输入格式
第一行包含两个整数 $n$ 和 $q$($2\leq n\leq 10^5$,$1\leq q\leq 10^5$),分别表示结点数和操作数。
第二行包含 $n-1$ 个整数 $p_2, p_3, \ldots, p_n$($1\leq p_i
输出格式
对于每个类型为 $3$ 的操作,如果该结点是黑色,输出 "black";否则输出 "white"。
说明/提示
第一个样例如下图所示。

第二个样例如图所示。

由 ChatGPT 4.1 翻译