#P5215. 「泉州基地校201811D3」2.胖哥的树
「泉州基地校201811D3」2.胖哥的树
Description
胖哥有一棵 个节点的树,其中有一些节点是黑色的,另外一些节点是白色的。
考虑这棵树上的一个条边的边集。如果胖哥将这 条边从树上删除,则将会把这棵树分成 个联通块。
现在,胖哥想知道,存在多少种这样的边集,使得删除这些边后,每个联通块只有一个黑色的节点。由于答案可能很大,请将答案 () 。
Input Format
输入文件名为tree.in
。
共三行,第一行包含一个整数 ,表示树的节点的个数。
第二行有 个整数 。 表示第( )个节点与第 个节点之间有一条边。假设树的节点的编号是从到。
第三个有 个整数 X_{n-1}X_i=0$ 或 )。如果 等于1,表示节点 是黑色,反之则表示节点 是白色。
Output Format
输出文件为tree.out
。
输出共一行,包含一个整数,表示答案 。
Sample
【输入输出样例1】 tree.in
3
0 0
0 1 1
tree.out
2
【输入输出样例2】 tree.in
6
0 1 1 0 4
1 1 0 0 1 0
tree.out
1
【输入输出样例3】 tree.in
10
0 1 2 1 4 4 4 0 8
0 0 0 1 0 1 1 0 0 1
tree.out
27
Hint
对于 的数据,。
对于 的数据,。
对于 的数据,。