飴食べゲーム(★★★★)

2 secs 1024 MB
aiblecode's icon aiblecode

問題文

AliceさんとBobさんは、ゲームで遊んでいます。

NN 個の飴が横 11 列に並んでいます。これらの飴は普通の飴または美味しい飴に分類されます。
CiC_i- のとき左から ii 番目の飴が普通の飴であることを、o のとき美味しい飴であることを表します。

AliceさんとBobさんは次の流れでゲームを行います。

  • Aliceさんが先攻、Bobさんが後攻で、以下の操作をゲームが終了するまで交互に行う。
    • 11 以上 MM 以下の整数 xx を選ぶ。xx 個の飴を左から順番に食べる。
    • 飴を全て食べ終わったとき、ゲームが終了する。

ゲーム終了後、食べた美味しい飴の個数の合計が多い方の勝ちとなります。

双方が最善を尽くしたとき、どちらが勝つか判定してください。
本問題の制約下において、最善を尽くしたときどちらか一方のみが勝つことが保証されます。

制約

  • TT1T1001 \leqq T \leqq 100 を満たす整数
  • N,MN, M1MN1001 \leqq M \leqq N \leqq 100 を満たす整数
  • CiC_i- または o
  • 美味しい飴の個数は奇数

入力

入力は以下の形式で標準入力から与えられます。ここで、casei(i=1,2,,T)\mathrm{case}_i (i = 1, 2, \cdots, T)ii 番目のテストケースです。

TT
case1\mathrm{case}_1
case2\mathrm{case}_2
\vdots
caseT\mathrm{case}_T

各テストケースは以下の形式で与えられます。

case

NNMM
C1C2CNC_1C_2\ldots C_N

出力

標準出力に TT 行出力し、ii 行目には ii 番目のテストケースの答えを出力してください。

各テストケースについて、双方が最善を尽くしたとき、Aliceさんが勝つならば Alice 、Bobさんが勝つならば Bob と出力してください。
本問題の制約下において、最善を尽くしたときどちらか一方のみが勝利することが保証されます。

サンプル

入力
3
7 2
-o--oo-
9 4
-ooooooo-
21 5
o-o-ooo-o-o-o-ooo-o-o
出力
Alice
Bob
Alice

この入力では 33 個のテストケースが与えられています。11 番目のテストケースについて、以下のことが言えます。

  • 11 個目のテストケースについて、例えば次のような流れでゲームが進行します。
    • Aliceさんが飴を 22 個(-o)食べる。残りの飴は --oo- となる。
    • Bobさんが飴を 11 個(-)食べる。残りの飴は -oo- となる。
    • Aliceさんが飴を 22 個(-o)食べる。残りの飴は o- となる。
    • Bobさんが飴を 22 個(o-)食べる。飴をすべて食べたため、ゲームが終了する。
  • 以上により、Aliceさんは美味しい飴を 22 個、Bobさんは美味しい飴を 11 個食べたため、Aliceさんの勝ちとなります。
  • 実は、Bobさんがどのように操作しても、適切に操作することでAliceさんが勝つことができます。

Submit


Go (1.21)