結果
問題 | No.103 素因数ゲーム リターンズ |
ユーザー |
![]() |
提出日時 | 2022-01-21 01:41:41 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 86 ms / 5,000 ms |
コード長 | 838 bytes |
コンパイル時間 | 70 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 13,440 KB |
最終ジャッジ日時 | 2024-11-24 13:24:08 |
合計ジャッジ時間 | 2,970 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 20 |
ソースコード
import math def fact(x): L=int(math.sqrt(x)) FACT=dict() for i in range(2,L+2): while x%i==0: FACT[i]=FACT.get(i,0)+1 x=x//i if x!=1: FACT[x]=FACT.get(x,0)+1 return FACT FACT=[dict() for i in range(10**4+5)] for i in range(1,10**4+1): FACT[i]=fact(i) def grundy(x): if x==1: return 0 LIST=[] for f in FACT[x]: LIST.append(G[x//f]) if (x//f)%f==0: LIST.append(G[x//f//f]) SET=set(LIST) for i in range(10**9): if i in SET: continue else: G[x]=i break G=[0]*(10**4+5) for i in range(1,10**4+5): grundy(i) N=int(input()) A=list(map(int,input().split())) XOR=0 for a in A: XOR^=G[a] if XOR!=0: print("Alice") else: print("Bob")