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 翻译