- 2 人のプレイヤー A と B が数字nを含むゲームをプレイしています
- プレイヤー A が最初の動きを行い、両方のプレイヤーが交互にプレイします。
- 各手番で、プレーヤーは数字 n を取り、2^i < nとなる数字iを選択し、 kの 2 進数表現の 1 の数が次の値以上である場合、 nをk = n - 2^iに置き換えます。 nのバイナリ表現における 1 の数
- どのプレーヤーも手を出せなくなったとき、つまりそのようなiが存在しなくなったとき、ゲームは終了します。
例えば:
n = 13 = b1101
可能な i=1 のみ
k = n - 2^i = 11 = b1011
繰り返しますが、可能なのは i = 2 だけです
k = n - 2^i = 7 = b111
プレイヤー A はそれ以上手が出せないので、プレイヤー B が勝ちます。
どのステップでも、n のバイナリ表現の対応する位置に 0 が存在するように、i のみを選択できると推測しました。
例: n=1010010 の場合、i は {0,2,3,5} のみです。
しかし、私はこれ以上先に進むことはできません.ミニマックスアルゴリズムは私を正確に打っていません.助けていただければ幸いです.よろしくお願いします.