結果
| 問題 | No.103 素因数ゲーム リターンズ | 
| コンテスト | |
| ユーザー |  あかりき | 
| 提出日時 | 2021-05-04 19:19:58 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 89 ms / 5,000 ms | 
| コード長 | 557 bytes | 
| コンパイル時間 | 480 ms | 
| コンパイル使用メモリ | 82,304 KB | 
| 実行使用メモリ | 76,672 KB | 
| 最終ジャッジ日時 | 2024-07-23 14:33:47 | 
| 合計ジャッジ時間 | 3,210 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 5 | 
| other | AC * 20 | 
ソースコード
n=int(input())
m=list(map(int,input().split()))
def fact(n):
  fct=[]
  b,e=2,0
  while b*b<=n:
    while n%b==0:
      n=n//b
      e=e+1
    if e>0:
      fct.append((b,e))
    b,e=b+1,0
  if n>1:
    fct.append((n,1))
  return fct
g=[0]*(10**4+1)
g[1]=0
for i in range(2,10**4+1):
  L=[0]*100
  f=fact(i)
  for j in range(len(f)):
    L[g[i//f[j][0]]]=1
    if f[j][1]>1:
      L[g[i//(f[j][0]**2)]]=1
  for j in range(len(L)):
    if L[j]==0:
      g[i]=j
      break
x=0
for i in range(n):
  x^=g[m[i]]
if x==0:
  print('Bob')
else:
  print('Alice')
            
            
            
        