#abc222e. [abc222_e]Red and Blue Tree
[abc222_e]Red and Blue Tree
问题描述
给定一个具有 个顶点的树,一个由 个数字 组成的序列,以及一个整数 。
顶点编号为 到 ,第 条边连接顶点 和 。
我们将这棵树的 条边中的每一条都涂成红色或蓝色。在 种方式中,找到满足以下条件的数量,对 取模。
条件:
让我们把一个棋子放在顶点 上,并按照顺序对每个 ,沿着最短路径从顶点 移动到顶点 。移动结束后,满足 ,其中 和 分别是棋子经过红色边和蓝色边的次数。
约束条件
- 给定的图是一棵树。
- 输入中的所有值都是整数。
输入
输入以以下格式从标准输入中给出:
输出
输出答案。
示例输入 1
4 5 0
2 3 2 1 4
1 2
2 3
3 4
示例输出 1
2
如果我们将第 条和第 条边涂成红色,将第 条边涂成蓝色,棋子经过以下数量的红色和蓝色边:
- 当从顶点 移动到 时,经过 条红色边和 条蓝色边,
- 当从顶点 移动到 时,经过 条红色边和 条蓝色边,
- 当从顶点 移动到 时,经过 条红色边和 条蓝色边,
- 当从顶点 移动到 时,经过 条红色边和 条蓝色边,
总共经过 条红色边和 条蓝色边,满足条件。
满足条件的另一种方式是将第 条和第 条边涂成蓝色,将第 条边涂成红色。没有其他满足条件的方法,因此答案是 。
示例输入 2
3 10 10000
1 2 1 2 1 2 2 1 1 2
1 2
1 3
示例输出 2
0
可能没有办法涂色以满足条件。
示例输入 3
10 2 -1
1 10
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
示例输出 3
126
示例输入 4
5 8 -1
1 4 1 4 2 1 3 5
1 2
4 1
3 1
1 5
示例输出 4
2