AT_pakencamp_2022_day1_m 01 Tree
题目描述
给定一棵以顶点 $1$ 为根的 $N$ 个顶点的有根树。顶点 $i$ 的父节点为顶点 $P_i$。现在要在每个顶点上写入 $0$ 或 $1$。
请你求出满足以下条件的一个顶点的 $0$ 和 $1$ 的分配方案。如果不存在这样的分配方案,请报告其不存在。
- 对于 $K$ 个顶点 $M_1 ,M_2, \cdots, M_K$,分别写入 $S_1 ,S_2, \cdots, S_K$。
- 如果顶点 $i$ 被写入了 $1$,那么顶点 $A_i$ 及其全部子孙顶点都必须被写入 $1$。
- 如果顶点 $i$ 被写入了 $0$,那么顶点 $A_i$ 及其全部子孙顶点都必须被写入 $0$。
输入格式
输入按如下格式由标准输入给出:
> $N\ P_2\ P_3\ P_4\ \cdots\ P_N\ K\ M_1\ S_1\ M_2\ S_2\ \vdots\ M_K\ S_K\ A_1\ A_2\ A_3\ \cdots\ A_N$
输出格式
第一行输出一个 $N$ 位的 $01$ 字符串,表示每个顶点上的数字。第 $i$ 位表示顶点 $i$ 写入的数字。如果不存在可行解,则输出一行 `IMPOSSIBLE`。
说明/提示
### 数据范围
- $2 \leq N \leq 10^5$
- $1 \leq P_i < i$ ($2 \leq i \leq N$)
- $0 \leq K \leq N-1$
- $1 \leq M_i \leq N$ ($1 \leq i \leq K$)
- $M_i \neq M_j$ ($1 \leq i < j \leq K$)
- $S_i \in \{0,1\}$ ($1 \leq i \leq K$)
- $1 \leq A_i \leq N$ ($1 \leq i \leq N$)
- 输入均为整数。
由 ChatGPT 5 翻译