結果

問題 No.2 素因数ゲーム
ユーザー 舞葉
提出日時 2017-05-17 22:30:24
言語 Ruby
(2.4.1)
結果
AC  
実行時間 118 ms
コード長 597 Byte
コンパイル時間 28 ms
使用メモリ 4212 KB

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
01.txt AC 11 ms
4196 KB
02.txt AC 11 ms
4196 KB
03.txt AC 11 ms
4204 KB
04.txt AC 12 ms
4204 KB
05.txt AC 11 ms
4200 KB
06.txt AC 12 ms
4200 KB
07.txt AC 11 ms
4204 KB
08.txt AC 13 ms
4208 KB
09.txt AC 13 ms
4200 KB
10.txt AC 118 ms
4212 KB
challenge01.txt AC 11 ms
4208 KB
challenge02.txt AC 10 ms
4204 KB
challenge03.txt AC 12 ms
4204 KB
challenge04.txt AC 12 ms
4200 KB
challenge05.txt AC 11 ms
4204 KB
challenge06.txt AC 11 ms
4196 KB
challenge07.txt AC 11 ms
4204 KB
challenge08.txt AC 12 ms
4196 KB
challenge09.txt AC 10 ms
4204 KB
system_test1.txt AC 11 ms
4200 KB
system_test2.txt AC 10 ms
4208 KB
system_test3.txt AC 10 ms
4208 KB
system_test4.txt AC 11 ms
4204 KB
system_test5.txt AC 14 ms
4200 KB
system_test6.txt AC 11 ms
4208 KB
system_test7.txt AC 11 ms
4204 KB
system_test8.txt AC 13 ms
4200 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