結果
問題 | No.7 プライムナンバーゲーム |
ユーザー | nbisco |
提出日時 | 2016-04-10 22:22:21 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,060 bytes |
コンパイル時間 | 108 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 12,160 KB |
最終ジャッジ日時 | 2024-10-04 05:54:25 |
合計ジャッジ時間 | 1,645 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 26 ms
10,880 KB |
testcase_01 | AC | 26 ms
10,752 KB |
testcase_02 | WA | - |
testcase_03 | WA | - |
testcase_04 | WA | - |
testcase_05 | AC | 28 ms
11,008 KB |
testcase_06 | RE | - |
testcase_07 | RE | - |
testcase_08 | RE | - |
testcase_09 | RE | - |
testcase_10 | WA | - |
testcase_11 | RE | - |
testcase_12 | RE | - |
testcase_13 | RE | - |
testcase_14 | RE | - |
testcase_15 | RE | - |
testcase_16 | RE | - |
ソースコード
#!/usr/bin/env python3 #fileencoding: utf-8 def is_prime(n,primes): for i in primes[1:]: if i > (n//2): break if n % i == 0: return False return True # turn = 1 : me # turn = 0 : Eve memo = {} def dfs(N,primes,turn): global memo if N == 2: result = False if turn == 1 else True elif N <= 1: result = True if turn == 1 else False else: result = True for i in primes: diff = N - i if diff <= 1: break if (diff,turn) in memo: result = memo[(diff,turn)] else: result = dfs(diff, primes, turn ^ 1) memo[(diff,turn)] = result if result == False: break return result def mk_cache(N): for i in range(1000,N,100): dfs(i,primes,1) N = int(input()) primes = [2] for i in range(3,N+1,2): if is_prime(i,primes): primes.append(i) mk_cache(N) if dfs(N,primes,1): print("Win") else: print("Lose")