読者です 読者をやめる 読者になる 読者になる

水面下の夢

競プロやイラストに興味があります.メインブログがここ.ソシャゲの話はこっち(http://ameblo.jp/0n0-yumechi/).ブログアイコンはYaQ(@8_9_00)さんから.

No.8 N言っちゃダメゲーム

Python yukicoder 競技プログラミング

回答

#44655 No.8 N言っちゃダメゲーム - yukicoder

なんか過去に解いた問題に似ている.
N % (K + 1) = 1 となる場合のみ負ける.この時はN-1を後攻が確実に言うことができるためである.
それ以外は勝利.
KがN-1以上の場合は,最初にN-1を言えるので,この場合も勝利.

なんか小さい数字でシミュレーションしてるうちに法則性に気がついて解けた.
人間同士でやると若干複雑な感じがするこのゲームであるが,よく分析すると必勝法があるって面白い.
頭のいい小学生はこの辺りに気づいているんだろうかw

p = int(input())
for _ in range(p):
    N, K = map(int, input().split())
    if N - 1 <= K:
        print("Win")
        continue
    print("Win" if N % (K + 1) != 1 else "Lose")

あと,この問題から★2スタートです.