結果
問題 | No.103 素因数ゲーム リターンズ |
ユーザー | nadare |
提出日時 | 2019-06-05 23:53:01 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
RE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,193 bytes |
コンパイル時間 | 312 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,648 KB |
最終ジャッジ日時 | 2024-09-22 13:39:16 |
合計ジャッジ時間 | 2,280 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | RE | - |
testcase_01 | RE | - |
testcase_02 | RE | - |
testcase_03 | RE | - |
testcase_04 | RE | - |
testcase_05 | RE | - |
testcase_06 | RE | - |
testcase_07 | RE | - |
testcase_08 | RE | - |
testcase_09 | RE | - |
testcase_10 | RE | - |
testcase_11 | RE | - |
testcase_12 | RE | - |
testcase_13 | RE | - |
testcase_14 | RE | - |
testcase_15 | RE | - |
testcase_16 | RE | - |
testcase_17 | RE | - |
testcase_18 | RE | - |
testcase_19 | RE | - |
testcase_20 | RE | - |
testcase_21 | RE | - |
testcase_22 | RE | - |
testcase_23 | RE | - |
testcase_24 | RE | - |
ソースコード
from itertools import accumulate from bisect import bisect, bisect_left from functools import reduce from itertools import accumulate, product from operator import itemgetter, xor from math import sqrt from fractions import gcd from collections import Counter, deque, defaultdict import sys #input = sys.stdin.readline from sys import setrecursionlimit setrecursionlimit(10**9) def inpl(): return list(map(int, input().split())) N = int(input()) M = inpl() def primes(N): sieve = [1]*(N+1) sieve[:2] = [0, 0] P = [] for i in range(2, N+1): if sieve[i]: P.append(i) for j in range(2*i, N+1, i): sieve[j] = 0 return P def get_factors(X): res = defaultdict(int) for i in range(bisect(P, sqrt(X))): while True: d, m = divmod(X, P[i]) if m: break res[P[i]] += 1 X = d if X != 1: res[X] += 1 return res def get_grundy(ddic): res = 0 for v in ddic.values(): res ^= v%3 return res P = primes(10**4) Nim = [get_grundy(get_factors(m)) for m in M] if reduce(xor, Nim): print("Alice") else: print("Bob")