#icpc2015summerday2h. [icpc2015summer_day2_h]Bit Operation Game
[icpc2015summer_day2_h]Bit Operation Game
问题描述
给定一棵有 个顶点的根树。每个顶点都有从 到 的编号,其中 号顶点表示根。根节点上有 T = 0
,其他节点上有以下操作之一:
T=T&X
T=T&Y
T=T|X
T=T|Y
T=T^X
T=T^Y
这里的操作符 &、|、^ 分别表示位运算中的与、或、异或。
A 和 B 使用这棵树玩了以下游戏 次。两个人从根节点开始,轮流选择子节点进行移动,直到到达叶节点为止。按照经过的节点上的操作,按照顺序应用时,最终的 值成为得分。B 希望尽量减小得分,而 A 希望尽量增大得分。给定 M 次游戏中的 X 和 Y 的值,请输出两个人在每个游戏中做出最优选择时的得分。
约束条件
输入格式
输入以以下格式从标准输入中给出:
第一行包含树的顶点数 和游戏次数 的整数。
接下来的 行中,输入了每个第 到第 号顶点上的操作。
然后,在接下来的 行中,输入通过每条边连接的 个顶点的编号。
最后,按照 行输入游戏中 和 的值。
输出格式
在每个游戏中,分别输出最终的 值,共 行。
示例输入 1
6 3
T=T|X
T=T|Y
T=T|Y
T=T^Y
T=T&X
0 1
0 2
1 3
1 4
2 5
5 6
3 5
0 0
示例输出 1
4
6
0