結果
| 問題 |
No.7 プライムナンバーゲーム
|
| コンテスト | |
| ユーザー |
goto_isyuku
|
| 提出日時 | 2017-06-04 07:10:42 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 1,135 ms / 5,000 ms |
| コード長 | 908 bytes |
| コンパイル時間 | 183 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 11,264 KB |
| 最終ジャッジ日時 | 2024-10-01 16:04:57 |
| 合計ジャッジ時間 | 8,756 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 17 |
ソースコード
n = int(input())
def ints_from_2(x):
l = []
for i in range(x - 1):
l.append(i + 2)
return l
def sieve(x):
l = ints_from_2(x)
ans = []
car = l[0]
cdr = l[1:]
while car ** 2 < x:
cdr = [x for x in cdr if x % car != 0]
ans.append(car)
car = cdr[0]
cdr = cdr[1:]
ans = ans + [car] + cdr
return ans
pl = sieve(n)
plp2 = [x + 2 for x in pl]
plp3 = [x + 3 for x in pl]
result = [0 for x in range(n + 4)]
result[2] = -1 # means 2
result[3] = -1
for x in plp2:
result[x] = 1
for x in plp3:
result[x] = 1
for x in range(len(result)):
if x != 0 and x != 1:
if result[x] == 0:
tmp = True
for a in [b for b in pl if b < x]:
if result[x - a] == -1:
tmp = False
if tmp:
result[x] = -1
else:
result[x] = 1
if result[n] == 1:
print("Win")
else:
print("Lose")
goto_isyuku