#ATarc161c. [ARC161C] Dyed by Majority (Odd Tree)
[ARC161C] Dyed by Majority (Odd Tree)
题目描述
给定一棵有 个顶点的树。顶点编号为 到 ,第 条边连接顶点 和顶点 。此外,对于所有顶点,连接的边的数量都是奇数。
你需要用黑色(B)或白色(W)给每个顶点染色。此时,将“每个顶点的颜色(B 或 W)按顶点编号顺序排列得到的字符串”称为颜色序列。
给定一个颜色序列 。请判断是否存在一种顶点染色方式,使得对所有顶点执行以下操作一次后,颜色序列变为 。如果存在,请给出操作前的一种可能的颜色序列;如果不存在,输出 -1。
操作: 对每个顶点 ,令 为与其通过边相连的顶点中占多数的颜色。然后,所有顶点同时将自己的颜色变为 。
有 组测试数据,请分别回答。
输入格式
输入按以下格式从标准输入给出。
每组测试数据 格式如下:
输出格式
输出 行。第 行输出第 个测试数据的答案。如果存在一种操作前的颜色序列,使得操作后颜色序列为 ,则输出其中任意一种;如果不存在,输出 -1。
样例 1
输入
2
4
1 2
1 3
1 4
BWWW
4
1 2
1 3
1 4
BBWW
输出
WBBW
-1
说明/提示
限制
- 所有测试数据中 的总和不超过
- 给定的边 构成一棵树
- 每个顶点 在所有 中出现的次数总是奇数
- 是由
B和W组成的长度为 的字符串
样例解释 1
对于第 1 个测试数据,假设操作前的颜色序列为 WBBW。此时:
- 顶点 的相邻顶点 的颜色分别为
B,B,W,占多数的是B - 顶点 的相邻顶点 的颜色为
W,占多数的是W - 顶点 的相邻顶点 的颜色为
W,占多数的是W - 顶点 的相邻顶点 的颜色为
W,占多数的是W
因此,操作后的颜色序列为 BWWW,满足条件。同理,操作前的颜色序列为 WBBB、WBWB、WWBB 时,操作后颜色序列也为 BWWW,输出这些任意一个都视为正确答案。
对于第 2 个测试数据,输入的树中不可能通过一次操作得到颜色序列 BBWW。
由 ChatGPT 4.1 翻译