結果

問題 No.2 素因数ゲーム
ユーザー mai
提出日時 2017-05-17 22:30:24
言語 Ruby
(3.4.1)
結果
AC  
実行時間 206 ms / 5,000 ms
コード長 597 bytes
コンパイル時間 147 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,416 KB
最終ジャッジ日時 2024-12-26 13:01:08
合計ジャッジ時間 5,758 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 31
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

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