問題一覧 > 通常問題

No.1770 N言っちゃダメゲーム (6)

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 23
作問者 : trineutrontrineutron / テスター : ngtkanangtkana
9 ProblemId : 3266 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2021-12-25 23:36:21

問題文

あなたとGrantは、いわゆる「$21$言っちゃダメゲーム(棒取りゲームというところも)」を正の整数$N, K$を使って拡張したゲームを何度もしてきた。ルールは以下のとおりである。

1. まず先攻のプレイヤーは$0$が与えられる。
2. そこから$N$以上を宣言しないように(宣言したら負けになる)、与えられた数字に$1〜K$のどれかの整数を加算したものを宣言し相手プレイヤーに渡す。
3. 勝負がつくまで代わり代わりに 2. を繰り返す。

あなたがこのゲームの勝ち方を知ったため、Grantはこのゲームに勝てなくなっていた。
そこで、Grantは以下のルールを追加してあなたと勝負することにした。

4. 加算した整数が直前の相手と同じ場合、その時点で負けになる。例えば、あなたが$10$、Grantが$12$と宣言した場合、あなたは$14$と宣言すると負けになる。

まずあなたが先攻となりゲームを始める。
この時、どちらも負けないように動くと考え、自然数$N,K$が与えられた時、
あなたが勝つことが出来る場合は、最初に宣言して勝てる数字を全て改行区切りで昇順に出力せよ。勝つことが出来ない場合は$0$を出力せよ。

入力

$N\ K$

$N, K$は整数
$1 \le K < N \le 2 \times 10^5$

出力

あなたが勝つことが出来る場合は、最初に宣言して勝てる数字を全て改行区切りで昇順に出力せよ。勝つことが出来ない場合は$0$を改行付きで出力せよ。

サンプル

サンプル1
入力
21 3
出力
0

あなたがどんな戦略をとってもGrantに勝つことは出来ません。

サンプル2
入力
13 5
出力
5

初手に$5$を宣言した時だけ勝つことが出来ます。

サンプル3
入力
40 6
出力
2
4

勝つことが出来る初手が複数存在する場合は昇順に出力してください。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。