atcoder#AGC045A. [AGC045A] Xor Battle

[AGC045A] Xor Battle

题目描述

2 2 人の人がおり,0 0 1 1 の番号がついています. また,0 0 で初期化された変数 x x があります. これから 2 2 人はゲームを行います. ゲームは N N ラウンドからなり,i i 回目 (1  i  N 1\ \leq\ i\ \leq\ N ) のラウンドでは,次の操作が行われます.

  • Si S_i が以下のいずれかの操作をする.
    • x x x  Ai x\ \oplus\ A_i で置き換える.ただしここで \oplus はbitごとの排他的論理和を表す.
    • 何もしない.

0 0 の目標は,最終的に x=0 x=0 にすることで,逆に人 1 1 の目標は,最終的に x  0 x\ \neq\ 0 にすることです.

2 2 人が最適に行動する時,最終的に x x 0 0 になるかどうかを判定してください.

1 1 つの入力につき,T T 個のテストケースに答えてください.

输入格式

入力は以下の形式で標準入力から与えられる. 入力の 1 1 行目は以下のとおりである.

T T

そして,T T 個のテストケースが続く. これらはそれぞれ以下の形式で与えられる.

N N A1 A_1 A2 A_2 \cdots AN A_N S S

输出格式

各テストケースについて,最終的に x=0 x=0 となる場合は 0,そうでない場合は 1 と出力せよ. 各テストケースごとに改行せよ.

题目大意

给定一个长为 nn 的数组 AA 和同样长度的 0101SS,编号为 0011 的两个人将要围绕着一个初始为 00 的数做博弈。

博弈按照数组的顺序进行。当进行到第 ii 轮的时候,轮到编号为 SiS_i 的人开始行动。
他可以选择把当前的 xx 按位异或上 AiA_i,也可以什么都不做。

00 的目标是使得 xx 最终变成 00,而 11 的目标反之,即让 xx 最终不为 00

两人总共进行 TT 局游戏,你需要对于每一局游戏输出两人中的哪一个有必胜策略。

3
2
1 2
10
2
1 1
10
6
2 3 4 5 6 7
111000
1
0
0

提示

制約

  • 1  T  100 1\ \leq\ T\ \leq\ 100
  • 1  N  200 1\ \leq\ N\ \leq\ 200
  • 1  Ai  1018 1\ \leq\ A_i\ \leq\ 10^{18}
  • S S 01 のみからなる長さ N N の文字列
  • 入力される数は全て整数である.

Sample Explanation 1

1 1 つ目のテストケースでは,人 1 1 x x 0  1=1 0\ \oplus\ 1=1 で置き換えると,人 0 0 の操作に依らず,最終的に x  0 x\ \neq\ 0 になります. 2 2 つ目のテストケースでは,人 1 1 がどちらの操作を行っても,人 0 0 が適切な操作をすれば x=0 x=0 にできます.