#P16292. [Ucpc2021初赛]构造 UCPC
[Ucpc2021初赛]构造 UCPC
题目描述
给定一棵有 个顶点的树。顶点编号为 到 ,每个顶点上写有字母 U、C、P 中的一个。
请计算满足下列条件的数对 的数量,其中 :
- 收集从顶点 到顶点 的简单路径上所有顶点所写的字母;
- 将这些字母任意重新排列后,可以得到字符串 ,其中 。
换言之,路径上的字母数量必须满足:U 和 P 各有 个,C 有 个。
输入格式
第一行包含一个整数 。
第二行包含一个长度为 、仅由字符 U、C、P 组成的字符串 。其中 表示顶点 上的字母。
接下来 行,每行包含两个整数 ,表示树中顶点 与 之间有一条边。
输出格式
输出满足条件的数对 的数量。
样例
输入样例 1
5
UCCPP
2 3
4 3
3 5
2 1
输出样例 1
2
输入样例 2
13
CUUUCCCCPCCPP
1 2
2 3
4 7
3 10
6 2
7 6
12 13
9 7
7 8
11 12
7 11
5 7
输出样例 2
3
样例说明

图 J.1:样例 1 对应的树。路径 与 上的字母都可以重排为 UCPC。
在样例 2 中,可以构成两个 的 UCPC,以及一个 的 UCPCUCPC。