问题 5417 --黑白平衡树

5417: 黑白平衡树★★★

时间限制: 1 Sec  内存限制: 256 MB
提交: 120  解决: 82
[提交][状态][命题人:]

题目描述

有一颗具有 n 个顶点的树,顶点编号从 1 到 n,根为顶点 1。字符串 s 表示树中每个顶点的颜色,如果 s[i] = B ,说明第 i 个顶点的颜色为黑色;如果 s[i] = W 说明该顶点的颜色为白色。对于一个顶点而言,如果其子树中黑色顶点的数量等于白色顶点的数量,则将其称为黑白平衡树,请你计算黑白平衡树的数量。

注意:顶点包含在其子树中,根节点的子树为整棵树

输入

第一行为一个整数 t(1<=t<=1e4),代表测试样例的数量;

对于每组测试样例,第一行为一个整数 n(1<=n<=4e3),代表顶点个数;

第二行为 n-1 个数字 a[2],...,a[n](1<=a[i]<i),代表第 i 个顶点的父节点。

第三行为 n 个字符 s[1],...s[n],代表第 i 个顶点的颜色。

测试样例的 n 之和不会超过 2e5。

输出

对于每组测试样例,输出一个整数,代表黑白平衡树的个数。
样例输入
Copy
3
7
1 1 2 3 3 5
WBBWWBW
2
1
BW
8
1 2 3 4 5 6 7
BWBWBWBW
样例输出
Copy
2
1
4

提示

第一组样例如图所示,其中顶点 2 与顶点 3 的子树为黑白平衡树。

来源

 

[提交][状态]