結果
| 問題 | No.103 素因数ゲーム リターンズ | 
| コンテスト | |
| ユーザー |  6soukiti29 | 
| 提出日時 | 2017-08-23 03:41:40 | 
| 言語 | Nim (2.2.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 5,000 ms | 
| コード長 | 717 bytes | 
| コンパイル時間 | 3,323 ms | 
| コンパイル使用メモリ | 67,280 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-06-30 02:59:36 | 
| 合計ジャッジ時間 | 4,173 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 5 | 
| other | AC * 20 | 
ソースコード
import sequtils,strutils
var
    n = stdin.readline.parseInt
    M = stdin.readline.split.map(parseInt)
    sosu = newSeq[int](0)
    N : array[2..(1e4).int, bool]
    f : int
for i in 2..<(1e4).int:
    if N[i] == false:
        sosu.add(i)
        var j = i
        while j < 1e4.int:
            N[j] = true
            j += i
for m in M:
    var
        p = m
        cnt = 0
        i = 0
    while true:
        if p mod sosu[i] == 0:
            p = p div sosu[i]
            cnt += 1
        elif cnt > 0:
            f = (f xor (cnt mod 3))
            cnt = 0
            i += 1
            if p == 1:
                break
        else:
            i += 1
if f == 0:
    echo "Bob"
else:
    echo "Alice"
            
            
            
        