結果
| 問題 | No.7 プライムナンバーゲーム |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-04-15 13:21:09 |
| 言語 | Python3 (3.14.3 + numpy 2.4.4 + scipy 1.17.1) |
| 結果 |
AC
|
| 実行時間 | 497 ms / 5,000 ms |
| コード長 | 640 bytes |
| 記録 | |
| コンパイル時間 | 447 ms |
| コンパイル使用メモリ | 20,700 KB |
| 実行使用メモリ | 15,484 KB |
| 最終ジャッジ日時 | 2026-04-15 13:21:20 |
| 合計ジャッジ時間 | 5,952 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 17 |
ソースコード
N = int(input())
is_prime = [True] * (N + 1)
is_prime[0] = is_prime[1] = False
for i in range(2, int(N ** 0.5) + 1):
if is_prime[i]:
for j in range(i * i, N + 1, i):
is_prime[j] = False
primes = []
for i in range(2, N + 1):
if is_prime[i]:
primes.append(i)
dp = [False] * (N + 1)
dp[0] = dp[1] = False
for i in range(2, N + 1):
for p in primes:
if p > i:
break
# N'が0または1になる手は選べない(その手を打つと負け)
if i - p >= 2 and not dp[i - p]:
dp[i] = True
break
print("Win" if dp[N] else "Lose")