結果
問題 | No.5003 物理好きクリッカー |
ユーザー | morumotto |
提出日時 | 2018-12-10 03:41:40 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 124 ms / 10,000 ms |
コード長 | 3,121 bytes |
コンパイル時間 | 56 ms |
実行使用メモリ | 22,940 KB |
スコア | 23,199,793,729 |
平均クエリ数 | 10002.00 |
最終ジャッジ日時 | 2021-07-19 09:17:54 |
合計ジャッジ時間 | 6,375 ms |
ジャッジサーバーID (参考情報) |
judge15 / judge11 |
純コード判定しない問題か言語 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 122 ms
22,520 KB |
testcase_01 | AC | 120 ms
22,408 KB |
testcase_02 | AC | 117 ms
22,500 KB |
testcase_03 | AC | 116 ms
22,532 KB |
testcase_04 | AC | 120 ms
22,608 KB |
testcase_05 | AC | 120 ms
22,340 KB |
testcase_06 | AC | 118 ms
22,424 KB |
testcase_07 | AC | 118 ms
22,796 KB |
testcase_08 | AC | 123 ms
22,732 KB |
testcase_09 | AC | 117 ms
22,764 KB |
testcase_10 | AC | 120 ms
22,804 KB |
testcase_11 | AC | 119 ms
22,664 KB |
testcase_12 | AC | 120 ms
22,600 KB |
testcase_13 | AC | 118 ms
22,844 KB |
testcase_14 | AC | 123 ms
22,736 KB |
testcase_15 | AC | 124 ms
22,716 KB |
testcase_16 | AC | 119 ms
22,340 KB |
testcase_17 | AC | 116 ms
22,768 KB |
testcase_18 | AC | 120 ms
22,492 KB |
testcase_19 | AC | 118 ms
22,532 KB |
testcase_20 | AC | 120 ms
22,740 KB |
testcase_21 | AC | 118 ms
22,656 KB |
testcase_22 | AC | 119 ms
22,780 KB |
testcase_23 | AC | 119 ms
22,764 KB |
testcase_24 | AC | 118 ms
22,808 KB |
testcase_25 | AC | 118 ms
22,756 KB |
testcase_26 | AC | 116 ms
22,792 KB |
testcase_27 | AC | 120 ms
22,568 KB |
testcase_28 | AC | 121 ms
22,496 KB |
testcase_29 | AC | 117 ms
22,464 KB |
testcase_30 | AC | 117 ms
22,476 KB |
testcase_31 | AC | 120 ms
22,504 KB |
ソースコード
import math n = int(input()) s = input() fac_power = {"enhclick":1, "hand":1, "lily":10, "factory":120, "casino":2000, "grimoire":25000} buy_count = {"enhclick":1, "hand":0, "lily":0, "factory":0, "casino":0, "grimoire":0} buy_price = {"buy hand":150, "buy lily":2000, "buy factory":30000, "buy casino":600000, "buy grimoire":10000000} rei_price = {"enhclick":15, "reinforce hand":1500, "reinforce lily":20000, "reinforce factory":300000, "reinforce casino":6000000, "reinforce grimoire":100000000} sell_price = {"sell hand":[], "sell lily":[], "sell factory":[], "sell casino":[], "sell grimoire":[]} fac_names = {"hand", "lily", "factory", "casino", "grimoire"} CLICK_RATIO = 0.977 turn = 0 click_count = 0 click_adition = 0 cookie_count = 0 fever = 0 sale = False while turn < n: #print(cookie_count) #------------- player_action ------------- act = None price = 0 score = 0 #buy for k, v in buy_price.items(): if sale: v *= 0.9 if cookie_count >= v: ev = fac_power[k.split()[-1]] * (n - turn) - v #print(ev) if score < ev: act, price, score = k, v, ev #reinforce for k, v in rei_price.items(): if sale: v *= 0.9 if cookie_count >= v: ev = fac_power[k.split()[-1]] * buy_count[k.split()[-1]] * (n - turn) - v #print(ev) if k == "enhclick": ev = (ev + v) * CLICK_RATIO - v if score < ev: act, price, score = k, v, ev #sell for k, v in sell_price.items(): if not v:continue ev = v[-1] - fac_power[k.split()[-1]] * (n - turn) #print(ev) if score < ev: act, price, score = "sell " + k.split()[-1], - math.ceil(v[-1] * 0.25), ev if act == None: print("click") cookie_count += fac_power["enhclick"] click_adition += fac_power["enhclick"] click_count += 1 else: if act in buy_price: print(act) sell_price["sell "+ act.split()[-1]].append(math.ceil(buy_price[act] * 0.25)) buy_price[act] = math.ceil(buy_price[act] * 1.2) buy_count[act.split()[-1]] += 1 cookie_count -= math.ceil(price) elif act in rei_price: print(act) rei_price[act] *= 10 fac_power[act.split()[-1]] *= 2 cookie_count -= math.ceil(price) elif act in sell_price: print(act) cookie_count += sell_price[act].pop() buy_count[act.split()[-1]] -= 1 #------------- facility_action ----------- add = sum([fac_power[k] * buy_count[k] for k in fac_names]) if fever: add *= 7 fever -= 1 cookie_count += add #------------- special_action ------------ special_act = s[turn] if s == "B": cookie_count += math.ceil(cookie_count / 100) elif s == "F": fever = 20 elif s == "S": sale = True #------------- turn++ ------------------ turn += 1 print(cookie_count) print(click_count)