結果

問題 No.5003 物理好きクリッカー
ユーザー ebicochinealebicochineal
提出日時 2018-12-01 07:15:29
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 569 ms / 10,000 ms
コード長 1,758 bytes
コンパイル時間 174 ms
実行使用メモリ 32,552 KB
スコア 1,078,007
平均クエリ数 10000.00
最終ジャッジ日時 2021-07-19 07:31:12
合計ジャッジ時間 21,324 ms
ジャッジサーバーID
(参考情報)
judge15 / judge10
純コード判定しない問題か言語
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 32
権限があれば一括ダウンロードができます

ソースコード

diff #

#! /usr/bin/env python3
import sys
n = int(input())
s = input()
c = 0
x = {'hand':150, 'lily':2000, 'factory':30000, 'casino':600000, 'grimoire':10000000}

a = {'hand':1, 'lily':10, 'factory':120, 'casino':2000, 'grimoire':25000}
b = {'hand':150, 'lily':2000, 'factory':30000, 'casino':600000, 'grimoire':10000000}
d = {'hand':1, 'lily':0, 'factory':0, 'casino':0, 'grimoire':0}
r = {'hand':8, 'lily':2, 'factory':2, 'casino':2, 'grimoire':2}

g = {'hand':12, 'lily':9, 'factory':9, 'casino':9, 'grimoire':9}

for i in range(n):
    print(c, d, file=sys.stderr)
    f=0
    cmd = ''
    if cmd == '' and i >= n - 4 and d['casino'] > 0:
        cmd = 'sell casino'
    if cmd == '' and i >= n - 2 and d['grimoire'] > 0:
        cmd = 'sell grimoire'
    if cmd == '':
        for k in b:
            if k == 'hand' and c > 15*a[k] and d[k] <= a[k] * 20 and r[k]:
                cmd += 'enhclick'
                c -= 15*a[k]
                a[k] *= 2
                d[k] *= 2
                r[k] -= 1
                break
            elif c > b[k]*10 and a[k] * 5 < d[k] <= a[k] * 10 and r[k]:
                cmd += 'reinforce ' + k
                c -= b[k]
                a[k] *= 2
                d[k] *= 2
                r[k] -= 1
                break
    if cmd == '':
        for k in b:
            if c > b[k] and d[k] < a[k] * g[k]:
                if b[k] >= 10000000 and i > n-200 : continue
                cmd += 'buy ' + k
                c -= b[k]
                b[k] = int(1.2 * b[k])
                d[k] += a[k]
                break
    
    if cmd == '' :
        cmd = 'click'
        f=1
    print(cmd)
    for i, j in d.items():
        if i == 'hand' and f:
            c += j
        else:
            c += j
    s = input()
0