#CF2115D. 水母与勿忘我
水母与勿忘我
D. 水母与勿忘我
每次测试的时间限制:2 秒
每次测试的内存限制:1024 MB
水母和花花在玩一个游戏。
游戏包含两个长度为 的整数数组 和 ,以及一个长度为 的二进制字符串 。
此外,还有一个整数 ,初始化为 。
游戏进行 轮。对于 ,每一轮的流程如下:
- 如果 ,则当前回合的活跃玩家是水母;否则如果 ,则活跃玩家是花花。
- 活跃玩家必须选择以下操作之一执行:
- 将 设为
- 将 设为
这里 表示按位异或运算。
水母希望 轮游戏结束后 的最终值最小,而花花希望它最大。
如果两个玩家都采取最优策略,求游戏结束后 的最终值。
输入格式
每个测试点包含多个测试用例。第一行包含整数 (),表示测试用例的数量。
接下来每个测试用例的描述如下:
- 第一行一个整数 ()—— 游戏轮数。
- 第二行包含 个整数 ()。
- 第三行包含 个整数 ()。
- 第四行是一个长度为 的二进制字符串 。
数据保证所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出一个整数 —— 游戏结束后 的最终值。
输入样例
5
1
0
2
0
2
12 2
13 3
11
3
6 1 2
6 2 3
010
4
1 12 7 2
4 14 4 2
0111
9
0 5 10 6 6 2 6 2 11
7 3 15 3 6 7 6 7 8
110010010
输出样例
0
15
6
11
5
样例解释
在第一个测试用例中,只有一轮,且活跃玩家是水母。因此她会选择 ,最终 为 。
在第二个测试用例中,两轮的活跃玩家都是花花。她选择 和 ,最终 为 。花花也可以选择 和 ,得到 。
在第三个测试用例中,第一轮 ,所以水母的选择不影响结果。
- 第二轮:如果花花选择 ,则 变为 ;第三轮水母会选择 ,最终 。
- 如果花花选择 ,则 变为 ;第三轮水母会选择 ,最终 。
花花想最大化最终 ,所以她会在第二轮选 。因此最终 。