V - Delete Game
解説
/
/
実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 800 点
問題文
2N 個の文字列 U_1,U_2,\ldots,U_N,V_1,V_2,\ldots,V_N が与えられます。これらの文字列は全て A と B からなります。
X_i (1\le i\le N) を、U_i の後ろに V_i を無限回連結して得られる無限長の文字列とします。
Alice と Bob がこれらの文字列 X_1,X_2,\ldots,X_N を使って以下のようなゲームを行います。
- Alice から始めて両者は交互に手番をプレイする。
- 各手番では、プレイヤーは文字列を 1 つ選び、その文字列から文字を 1 つ選ぶ。ただし、選ぶ文字は Alice ならば
A、Bob ならばBである必要がある。その後、選んだ文字およびそれより後ろにある文字をすべて削除する。
先に手番をプレイできなくなったプレイヤーの負けです。
両者が最善を尽くしたとき、どちらのプレイヤーが勝つかを求めてください。
T 個のテストケースが与えられるので、それぞれについて答えを求めてください。
制約
- 1\le T\le 2\times 10^5
- 1\le N\le 2\times 10^5
- U_i,V_i は
AとBからなる長さ 1 以上 10 以下の文字列 - 全てのテストケースにおける N の総和は 2\times 10^5 以下
入力
入力は以下の形式で標準入力から与えられる。
T
\text{case}_1
\text{case}_2
\vdots
\text{case}_T
各テストケースは以下の形式で与えられる。
N U_1 V_1 U_2 V_2 \vdots U_N V_N
出力
各テストケースに対する答えを順に改行区切りで出力せよ。
各テストケースについて、両者が最善を尽くしたとき Alice が勝つならば Alice を、Bob が勝つならば Bob を出力せよ。
入力例 1
3 2 A B BA AB 2 AB BA BA AB 3 A A AB BA BA AB
出力例 1
Bob Bob Alice
1 番目のテストケースについて考えます。
X_1= ABBBBB...、X_2= BAABABAB... です。
例えばゲームは以下のように進行します:
- Alice の手番:X_2 の 3 文字目を選び、X_2 の 3 文字目以降を取り除く。X_2=
BAとなる。 - Bob の手番:X_1 の 5 文字目を選び、X_1 の 5 文字目以降を取り除く。X_1=
ABBBとなる。 - Alice の手番:X_1 の 1 文字目を選び、X_1 の 1 文字目以降を取り除く。X_1 は空文字列となる。
- Bob の手番:X_2 の 1 文字目を選び、X_2 の 1 文字目以降を取り除く。X_2 は空文字列となる。
- Alice は手番をプレイできないので、Bob の勝利である。
Alice がどのように行動しても Bob が適切に行動することで Bob が必ず勝利することができます。