結果
| 問題 | No.7 プライムナンバーゲーム |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-11-01 14:41:40 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 81 ms / 5,000 ms |
| + 249µs | |
| コード長 | 819 bytes |
| 記録 | |
| コンパイル時間 | 249 ms |
| コンパイル使用メモリ | 96,104 KB |
| 実行使用メモリ | 84,096 KB |
| 最終ジャッジ日時 | 2026-07-16 03:58:43 |
| 合計ジャッジ時間 | 3,088 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 17 |
ソースコード
def prime_search(x):
is_prime = [ True for _ in range(x + 1)]
is_prime[1] = False
for p in range(2, N + 1):
if is_prime[p] == False:
continue
for q in range(2 * p, N + 1, p):
is_prime[q] = False
primes = list()
for i in range(1, N + 1):
if is_prime[i]:
primes.append(i)
return primes
N = int(input())
primes = prime_search(N)
result = [ "Lose" ] * (N + 1)
for i in range(N + 1):
if i == 0 or i == 1:
result[i] = 'Win'
if i == 2 or i == 3:
result[i] = "Lose"
else:
for j in range(len(primes)):
if primes[j] > i:
break
else:
if result[i - primes[j]] == "Lose":
result[i] = "Win"
break
print(result[N])