CF2214I You Are a Robot
题目描述
有一个轨道系统,由 $n$ 个交汇点组成,编号从 $1$ 到 $n$。轨道呈树状结构,根节点为交汇点 $1$。一个无法停止的小车从交汇点 $1$ 出发,沿着树的边移动。
每条边(即轨道段)上可能有以下三种情况之一:
- 有一个人,
- 有一个机器人,
- 什么也没有。
你是一个机器人,所有机器人共用一个统一的意识。你可以控制小车在每个到达的交汇点的行进方向。
当没有可前进的方向时,小车停止。请确定小车会停在哪个交汇点。
如果有多个答案,可以输出其中任意一个。
输入格式
每个测试点包含多组测试用例。第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 $n$($1 \leq n \leq 2 \cdot 10^5$),表示交汇点的数量。
每个测试用例的第二行包含 $n-1$ 个整数 $p_2, p_3, \ldots, p_n$($1 \leq p_i < i$),其中 $p_i$ 表示交汇点 $i$ 在树中的父节点。
每个测试用例的第三行包含 $n-1$ 个整数 $a_2, a_3, \ldots, a_n$($0 \leq a_i \leq 2$),其中 $a_i$ 描述了节点 $p_i$ 到节点 $i$ 的轨道段的情况:
- $0$ 表示空轨道段,
- $1$ 表示轨道段上有人,
- $2$ 表示轨道段上有机器人。
所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出一个整数,表示一个可能的答案(即小车最后停下的交汇点)。如果有多个答案,输出其中任意一个即可。
说明/提示
由 ChatGPT 5 翻译