結果

問題 No.361 門松ゲーム2
ユーザー satama6
提出日時 2022-10-19 02:05:11
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 112 ms / 2,000 ms
コード長 537 bytes
コンパイル時間 317 ms
コンパイル使用メモリ 82,392 KB
実行使用メモリ 67,200 KB
最終ジャッジ日時 2024-06-29 07:30:42
合計ジャッジ時間 2,829 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

L, D = map(int, input().split())

# L1 < L2 < L3, L3 - L1 <= D, L1 + L2 + L3 = L

grundy = [0] * (L + 1)

for l in range(6, L+1):
    tmp = set()
    for l1 in range(1, l//3 + 1):
        for l2 in range(l1 + 1, l):
            l3 = l - l1 - l2
            if l3 <= l2:
                break
            if l3 - l1 > D:
                continue
            tmp.add(grundy[l1] ^ grundy[l2] ^ grundy[l3])
        
    g = 0
    while g in tmp:
        g += 1
    grundy[l] = g

if grundy[L] == 0:
    print('matsu')
else:
    print('kado')
0