結果
問題 |
No.7 プライムナンバーゲーム
|
ユーザー |
![]() |
提出日時 | 2017-07-15 22:49:42 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,074 bytes |
コンパイル時間 | 302 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 106,880 KB |
最終ジャッジ日時 | 2024-10-08 02:42:58 |
合計ジャッジ時間 | 6,728 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 4 WA * 9 TLE * 2 -- * 2 |
ソースコード
n = int(input()) from math import floor from math import sqrt def isprime(n): if n == 1: return False if n == 2: return True if n%2 == 0: return False for i in range(3, floor(sqrt(n))+1, 2): if i != n and n%i == 0: return False return True def primes(n): p = [] for i in range(n): if isprime(i): p.append(i) return p p = primes(n) np = len(p) d = [] for i in range(np+1): r = [None] * (n+1) d.append(r) d[0][n] = 0 for i in range(np): for j in reversed(range(n+1)): if d[i][j] != None: d[i+1][j-p[i]] = True d[i+1][j] = True results = [] if d[np][0]: for i in reversed(range(np+1)): if d[i][0] == None: results.append(i+1) break if d[np][1]: for i in reversed(range(np+1)): if d[i][1] == None: results.append(i+1) break win = True for result in range(len(results)): if result%2 != 0: win = False print('Win' if win else 'Lose')