問題はこちら
問題概要
長さ

の数列

があり,

の末尾の要素を

として,末尾の要素を

以上

未満の整数に変えて

になった要素は消すという操作を

人のプレーヤーが交互に行う.操作ができなくなる(自分の操作開始時に

が空)と負けとなるとき,どちらのプレーヤーが勝つか.

解説
grundy数を考える.

を「

かつ

」の
grundy数とすると

であり,
なら後手のプレーヤー,
なら先手のプレーヤーの勝ち.
こうすれば,複数のゲームを並列に行う問題でも解ける.
提出プログラム
https://yukicoder.me/submissions/658273感想