#ARC161C. 多数染色

    ID: 1625 传统题 2000ms 1024MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>普及+/提高−树论构造树形动态规划

多数染色

多数染色

时间限制:2s
空间限制:1024MB

题目描述

给定一棵有 NN 个顶点的树,顶点编号为 11 到 NN,且每个顶点的度数均为奇数。你要把每个顶点染成黑色 B 或白色 W。随后对所有顶点同时执行一次操作:顶点 kk 观察所有相邻顶点的颜色,并把自己的颜色改为其中严格占多数的颜色。由于每个顶点的度数为奇数,多数色总是唯一。

给定操作后的颜色串 SS。请判断是否存在一种操作前的染色能够得到 SS;若存在,输出任意一种可行的操作前颜色串,否则输出 -1。每个输入文件包含 TT 组测试数据。

输入格式

第一行一个整数 TT。每组测试数据先给出一个整数 NN,接下来 N−1N-1 行每行两个整数 Ai,BiA_i,B_i 表示一条边,最后一行给出长度为 NN 的颜色串 SS。

输出格式

对每组测试数据输出一行。若存在可行染色,输出任意一个长度为 NN、仅含 B 和 W 的操作前颜色串;否则输出 -1。

样例输入 1

2
4
1 2
1 3
1 4
BWWW
4
1 2
1 3
1 4
BBWW

样例输出 1

WBBW
-1

数据范围

  • T≥1T\ge1,N≥2N\ge2;
  • 每个输入文件中所有测试数据的 NN 之和不超过 2×1052\times10^5;
  • 1≤Ai<Bi≤N1\le A_i<B_i\le N,输入的边构成一棵树;
  • 每个顶点的度数均为奇数;
  • SS 是长度为 NN、仅含 B 和 W 的字符串。
子任务编号 分值 特殊限制
1 12 每个输入文件中所有测试数据的 NN 之和不超过 1818
2 28 每个输入文件中所有测试数据的 NN 之和不超过 20002000
3 30 每组测试数据中的 SS 全部由同一种字符组成
4 无特殊限制