結果
問題 | No.7 プライムナンバーゲーム |
ユーザー |
|
提出日時 | 2020-12-21 20:14:32 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 518 ms / 5,000 ms |
コード長 | 543 bytes |
コンパイル時間 | 353 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 83,584 KB |
最終ジャッジ日時 | 2024-10-01 16:41:33 |
合計ジャッジ時間 | 4,843 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
import sys sys.setrecursionlimit(10000) P = [1 for _ in range(10**4)] P[0]=0 P[1]=0 for i in range(2,101): for j in range(i*i,10**4,i): P[j]=0 Q = [] for i in range(2,10**4): if P[i]==1: Q.append(i) memo = {} def f(n): if n==2: return "Lose" if n==3: return "Lose" if n in memo: return memo[n] for q in Q: if q>=n:break if q<=n-2 and f(n-q)=="Lose": memo[n]="Win" return memo[n] memo[n]="Lose" return memo[n] print(f(int(input())))