QOJ.ac

QOJ

時間限制: 1.0 s 記憶體限制: 256 MB 總分: 100 可 Hack ✓

#17744. 正方形塗り分けゲーム

统计

MITITクラブでは定期的に「ソーシャルミキサー」が開催されています。これはクラブメンバーが交流し、学業や問題作成、コンテスト運営の合間に息抜きをするための楽しいイベントです。軽食やゲームが用意されていますが、そのゲームは少し変わったものです……。

MITITクラブのメンバーであるAmyとAimeeは、自分たちで考案した新しいボードゲームで遊んでいます!

ボードは $N$ 個のマスが1列に並んだもので、各マスは赤、緑、または白に塗られています。プレイヤーは非負整数であるパラメータ $K$ ($0 \le K \le \min(N-1, 7)$) をあらかじめ決めておきます。Amyが先攻で、交互に手番を行います。

各手番において、プレイヤーは以下の手順に従って手を動かします。

  1. すべてが であるマスからなる、要素数が 奇数 の部分集合 $S$ を選択します。このとき、$S$ に含まれる任意の2つのマスの距離(すなわち、座標の絶対差)が $K$ を超えてはなりません。

    特に、$S$ がちょうど1つの白いマスからなることは常に許容されます。また、$|S|$ が $K + 1$ を超えることは決してありません(もちろん、$|S|$ は奇数でなければなりません)。

  2. $S$ に含まれる すべて のマスを赤く塗るか、あるいは すべて のマスを緑に塗ります。ただし、赤のマスが緑のマスと隣接してはならない という条件を満たす必要があります。選択した $S$ によってはこの手順を完了できない場合があり、その場合はプレイヤーは別の $S$ を選択しなければなりません。

合法的な手番を行えなくなった最初のプレイヤーが敗北します。

Amyが最初の手番を行う前のボードの状態が与えられます。赤のマスと緑のマスは隣接していないことが保証されています。両者が最適にプレイした場合、どちらのプレイヤーが勝つかを判定してください。

入力

入力は複数のテストケースから構成されます。最初の行にはテストケースの数 $T$ ($1 \le T \le 5 \cdot 10^4$) が含まれます。

各テストケースの最初の行には、$N$ と $K$ ($1 \le N \le 2\cdot 10^5$, $0 \le K \le \min(N-1, 7)$) が含まれます。

各テストケースの2行目には、ボードの初期状態を表す $N$ 文字の文字列が含まれます。各文字は R(赤)、G(緑)、または W(白)のいずれかです。RG と隣接していないことが保証されています。

すべてのテストケースにおける $N$ の合計は $4 \cdot 10^5$ を超えないことが保証されています。

出力

各テストケースについて、勝者となるプレイヤーの名前を Amy または Aimee として出力してください。

小課題

  • ($15$ 点) $N \le 10$。
  • ($15$ 点) 初期状態で隣接する白いマスは存在しない。
  • ($10$ 点) 初期状態はすべて白であり、$K = 0$。
  • ($20$ 点) $K = 0$。
  • ($40$ 点) 追加の制約なし。

入出力例

入力 1

5
5 4
WWWWW
16 3
RRRRWGGGGGWRRRRR
6 5
WWWWWW
12 0
WWWWRRWGGGWW
13 7
WRRWWGWRWRWWW

出力 1

Amy
Aimee
Aimee
Amy
Amy

注記

最初のサンプルテストケースでは、Amyは最初の手番で $S$ としてボード全体(5つの白いマス)を選択し、すべてを赤く塗ることで勝利できます。

2番目のサンプルでは、ボード上の白いマスは RG に挟まれており、どの白いマスを選んでも隣接する R または G との条件に抵触するため、Amyは最初の手番で合法的な手番を行うことができず、即座に敗北します。

3番目のサンプルでは、ボード全体が白であり、$K=5$ です。Amyが最初の手番でどのような行動をとっても、残されたボードの状態に対してAimeeが勝利する戦略をとることができます。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.