結果
| 問題 | No.2 素因数ゲーム |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-09-30 10:04:49 |
| 言語 | Python2 (2.7.18) |
| 結果 |
AC
|
| 実行時間 | 16 ms / 5,000 ms |
| コード長 | 745 bytes |
| コンパイル時間 | 832 ms |
| コンパイル使用メモリ | 6,784 KB |
| 実行使用メモリ | 6,272 KB |
| 最終ジャッジ日時 | 2024-12-26 12:49:55 |
| 合計ジャッジ時間 | 2,501 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 31 |
ソースコード
def prime_decomposition(n):
i = 2
table = {}
while i * i <= n:
while n % i == 0:
n /= i
if i in table:
table[i] += 1
else:
table[i] = 1
i += 1
if n > 1:
if n in table:
table[n] += 1
else:
table[n] = 1
return table
mem = {}
def grundy(n):
if n <= 1:
return 0
if n in mem:
return mem[n]
table = prime_decomposition(n)
children = []
for k, v in table.items():
for i in xrange(1, v+1):
children.append(grundy(n/(k**i)))
i = 0
while i in children:
i += 1
mem[n] = i
return i
print 'Alice' if grundy(input()) else 'Bob'