結果

問題 No.7 プライムナンバーゲーム
ユーザー TawaraTawara
提出日時 2016-01-13 11:21:19
言語 Python2
(2.7.18)
結果
AC  
実行時間 1,352 ms / 5,000 ms
コード長 533 bytes
コンパイル時間 140 ms
コンパイル使用メモリ 6,784 KB
実行使用メモリ 10,496 KB
最終ジャッジ日時 2024-10-01 15:40:10
合計ジャッジ時間 9,357 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 12 ms
6,400 KB
testcase_01 AC 13 ms
6,272 KB
testcase_02 AC 1,352 ms
10,496 KB
testcase_03 AC 91 ms
7,040 KB
testcase_04 AC 32 ms
6,784 KB
testcase_05 AC 29 ms
6,656 KB
testcase_06 AC 382 ms
8,448 KB
testcase_07 AC 260 ms
7,808 KB
testcase_08 AC 121 ms
7,424 KB
testcase_09 AC 561 ms
8,960 KB
testcase_10 AC 10 ms
6,400 KB
testcase_11 AC 256 ms
8,064 KB
testcase_12 AC 905 ms
9,728 KB
testcase_13 AC 982 ms
9,984 KB
testcase_14 AC 1,250 ms
10,496 KB
testcase_15 AC 1,186 ms
10,368 KB
testcase_16 AC 1,113 ms
10,368 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys,math
sys.setrecursionlimit(10**5)
def sieve(n):
	check = [True]*(n+1)
	check[0] = check[1] = False
	for d in xrange(2,int(math.sqrt(n))+1):
		if not check[d]: continue
		for comp in xrange(d*2,n+1,d):
			check[comp] = False
	return [i for i in xrange(2,n+1) if check[i]]
N = input(); memo = [None]*(N+1); prime = sieve(N)
memo[0] = memo[1] = True
def dfs(n):
	if memo[n] is None:
		tmp = False
		for p in prime:
			if p > n: continue
			tmp |= not dfs(n-p)
		memo[n] = tmp
	return memo[n]
print "Win" if dfs(N) else "Lose"
0