小美有一棵由 个节点组成的树,每个节点被涂为红色或黑色。她想统计树中有多少条颜色交错的简单路径。 路径是指任意两个节点之间的唯一简单路径,并且我们也将单个节点自身视为长度为 1 的路径。若一条路径上任意相邻的两个节点颜色不同,则称该路径为颜色交错的路径。 请计算树中颜色交错的路径总数。 【名词解释】 【树上的路径】从节点 到节点 的简单路径定义为从节点 出发,以节点 为终点,随意在树上走,不经过重复的点和边走出来的序列。可以证明,在树上,任意两个节点间有且仅有一条简单路径。
输入描述:
第一行输入一个整数 ,表示树的节点数量。接下来 行,每行输入两个整数 和 ,表示节点 与 之间有一条无向边。保证输入构成一棵树。接下来一行,输入一个长度为 的字符串 ,仅由字符 和 构成,其中 表示第 个节点为黑色; 表示红色。
输出描述:
输出一个整数,表示树中颜色交错的路径总数。
示例1
输入
6
1 2
2 3
3 4
4 5
3 6
BRBRBB
说明
这棵树共有 16 条颜色交错的路径(包括 6 条单节点路径、4 条长度为 2 的路径、3 条长度为 3 的路径、2 条长度为 4 的路径、1 条长度为 5 的路径)。
示例2
说明
只有单节点路径满足颜色交错,共 3 条。
加载中...