結果
問題 | No.7 プライムナンバーゲーム |
ユーザー |
![]() |
提出日時 | 2016-10-09 01:45:18 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 1,529 ms / 5,000 ms |
コード長 | 716 bytes |
コンパイル時間 | 163 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-10-01 15:50:03 |
合計ジャッジ時間 | 11,100 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
N = int(input()) memo = [-1] * (N+1) #-1 -> (not yet), 0 -> win, 1 -> Lose prime = [] memo[0] = 0 #0 -> win memo[1] = 0 #0 -> win #素数列を作る(=prime) for n in range(2,N+1): flag = True for m in range(2, n): if n%m == 0: flag = False break if flag: prime.append(n) def res(i): if memo[i] != -1: return(memo[i]) #計算済なら、それを返す else: flag = 1 for p in prime: if p < i: flag = flag * (1 - res(i-p)) else: break memo[i] = flag #計算結果をmemoに入れる return(flag) for i in range(N): res(i) if res(N) == 0: print("Win") else: print("Lose")