結果
問題 | No.5003 物理好きクリッカー |
ユーザー | yowa |
提出日時 | 2018-12-07 08:19:40 |
言語 | Ruby (3.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 2,036 bytes |
コンパイル時間 | 65 ms |
実行使用メモリ | 49,740 KB |
スコア | 0 |
最終ジャッジ日時 | 2021-07-19 09:02:43 |
合計ジャッジ時間 | 22,782 ms |
ジャッジサーバーID (参考情報) |
judge11 / judge14 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | TLE | - |
testcase_01 | -- | - |
testcase_02 | -- | - |
testcase_03 | -- | - |
testcase_04 | -- | - |
testcase_05 | -- | - |
testcase_06 | -- | - |
testcase_07 | -- | - |
testcase_08 | -- | - |
testcase_09 | -- | - |
testcase_10 | -- | - |
testcase_11 | -- | - |
testcase_12 | -- | - |
testcase_13 | -- | - |
testcase_14 | -- | - |
testcase_15 | -- | - |
testcase_16 | -- | - |
testcase_17 | -- | - |
testcase_18 | -- | - |
testcase_19 | -- | - |
testcase_20 | -- | - |
testcase_21 | -- | - |
testcase_22 | -- | - |
testcase_23 | -- | - |
testcase_24 | -- | - |
testcase_25 | -- | - |
testcase_26 | -- | - |
testcase_27 | -- | - |
testcase_28 | -- | - |
testcase_29 | -- | - |
testcase_30 | -- | - |
testcase_31 | -- | - |
コンパイルメッセージ
Main.rb:100: warning: assigned but unused variable - n Syntax OK
ソースコード
class Facility def initialize(val, price, num=0) @val = val @reinforce_price = price @price = price @num = num || 0 end def produce @num * @val end def reinforce(cookie) diff = 0 if cookie >= @reinforce_price diff = -@reinforce_price @reinforce_price *= 10 @val *= 2 end diff end end class Clicker def initialize @cookie = 0 @facilities = {} @history = [] @click = Facility.new(1, 15, 1) [ [:hand, 1, 150], [:lily, 10, 2000], [:factory, 120, 30000], [:casino, 2000, 600000], [:grimoire, 25000, 10000000] ].each do |name, sp, price| @facilities[name] = Facility.new(sp, price) end end def do_action(cmd) @history << cmd case cmd when 'click' @cookie += @click.produce when /\Abuy (.*?)\z/ name = $1.to_sym @cookie += @facilities[name].buy(@cookie) when /\Asell (.*?)\z/ name = $1.to_sym @cookie += @facilities[name].sell(@cookie) when /\Areinforce (.*?)\z/ name = $1.to_sym @cookie += @facilities[name].reinforce(@cookie) when 'enhclick' @cookie += @click.reinforce(@cookie) when 'nothing' # do nothing else raise "Unknown action: '#{cmd}'" end end def do_produce() @facilities.each do |name, f| @cookie += f.produce end end def do_special(type) if type == 'B' # Bonus @cookie += (@cookie+99)/100 elsif type == 'F'# Fever elsif type == 'S' # Sale elsif type == 'N' # Nothing # do nothing else raise end end def run(s) s.each_char.with_index do |ch, turn| if @cookie >= @click.instance_eval{@reinforce_price} do_action("enhclick") else do_action("click") end do_produce() do_special(ch) end @cookie end end n = gets.to_i s = gets.chomp cl = Clicker.new score = cl.run(s) $stderr.puts score cl.instance_eval{@history}.each do |cmd| puts cmd gets end