結果

問題 No.2 素因数ゲーム
ユーザー mai(舞葉)
提出日時 2017-05-17 22:30:24
言語 Ruby
(ruby 2.5.0p0)
結果
AC  
実行時間 118 ms
コード長 597 Byte
コンパイル時間 28 ms
使用メモリ 4,212 KB
最終ジャッジ日時 2017-05-17 22:30:26

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
01.txt AC 11 ms
4,196 KB
02.txt AC 11 ms
4,196 KB
03.txt AC 11 ms
4,204 KB
04.txt AC 12 ms
4,204 KB
05.txt AC 11 ms
4,200 KB
06.txt AC 12 ms
4,200 KB
07.txt AC 11 ms
4,204 KB
08.txt AC 13 ms
4,208 KB
09.txt AC 13 ms
4,200 KB
10.txt AC 118 ms
4,212 KB
challenge01.txt AC 11 ms
4,208 KB
challenge02.txt AC 10 ms
4,204 KB
challenge03.txt AC 12 ms
4,204 KB
challenge04.txt AC 12 ms
4,200 KB
challenge05.txt AC 11 ms
4,204 KB
challenge06.txt AC 11 ms
4,196 KB
challenge07.txt AC 11 ms
4,204 KB
challenge08.txt AC 12 ms
4,196 KB
challenge09.txt AC 10 ms
4,204 KB
system_test1.txt AC 11 ms
4,200 KB
system_test2.txt AC 10 ms
4,208 KB
system_test3.txt AC 10 ms
4,208 KB
system_test4.txt AC 11 ms
4,204 KB
system_test5.txt AC 14 ms
4,200 KB
system_test6.txt AC 11 ms
4,208 KB
system_test7.txt AC 11 ms
4,204 KB
system_test8.txt AC 13 ms
4,200 KB
テストケース一括ダウンロード

ソースコード

diff #
require 'prime'

@dp={}
def guchoku216(aa,turn=true)
    return !turn if aa.size == 0
    
    aa.sort!
    return @dp[aa+[turn]] if @dp[aa+[turn]]
    
    aa.each_index{|i|
        ac = aa.clone
        ac[i]-=1
        while ac[i] > 0
            return @dp[aa+[turn]] = turn if (guchoku216(ac.clone,!turn) == turn)
            ac[i]-=1
        end
        ac.delete(0)
        return @dp[aa+[turn]] = turn if (guchoku216(ac.clone,!turn) == turn)
    }
    return @dp[aa+[turn]] = !turn
end

def game(n)
    guchoku216(n.prime_division.map{|e|e[1]})
end

puts game(gets.to_i) ? "Alice" : "Bob"
0