結果
問題 | No.5003 物理好きクリッカー |
ユーザー | Leonardone |
提出日時 | 2018-12-05 06:32:32 |
言語 | Haskell (9.8.2) |
結果 |
AC
|
実行時間 | 357 ms / 10,000 ms |
コード長 | 1,433 bytes |
コンパイル時間 | 4,808 ms |
実行使用メモリ | 21,948 KB |
スコア | 452,672 |
平均クエリ数 | 10000.00 |
最終ジャッジ日時 | 2021-07-19 08:43:53 |
合計ジャッジ時間 | 18,806 ms |
ジャッジサーバーID (参考情報) |
judge15 / judge12 |
純コード判定しない問題か言語 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 357 ms
21,516 KB |
testcase_01 | AC | 356 ms
21,876 KB |
testcase_02 | AC | 343 ms
21,384 KB |
testcase_03 | AC | 337 ms
21,372 KB |
testcase_04 | AC | 334 ms
21,552 KB |
testcase_05 | AC | 337 ms
21,852 KB |
testcase_06 | AC | 352 ms
21,528 KB |
testcase_07 | AC | 335 ms
21,900 KB |
testcase_08 | AC | 336 ms
21,192 KB |
testcase_09 | AC | 337 ms
21,936 KB |
testcase_10 | AC | 351 ms
21,888 KB |
testcase_11 | AC | 353 ms
21,372 KB |
testcase_12 | AC | 344 ms
21,348 KB |
testcase_13 | AC | 348 ms
21,516 KB |
testcase_14 | AC | 344 ms
21,348 KB |
testcase_15 | AC | 352 ms
21,516 KB |
testcase_16 | AC | 342 ms
21,372 KB |
testcase_17 | AC | 340 ms
21,528 KB |
testcase_18 | AC | 354 ms
21,384 KB |
testcase_19 | AC | 346 ms
21,852 KB |
testcase_20 | AC | 340 ms
21,684 KB |
testcase_21 | AC | 341 ms
21,360 KB |
testcase_22 | AC | 338 ms
21,384 KB |
testcase_23 | AC | 340 ms
21,540 KB |
testcase_24 | AC | 338 ms
21,924 KB |
testcase_25 | AC | 341 ms
21,384 KB |
testcase_26 | AC | 336 ms
21,204 KB |
testcase_27 | AC | 356 ms
21,684 KB |
testcase_28 | AC | 356 ms
21,684 KB |
testcase_29 | AC | 354 ms
21,552 KB |
testcase_30 | AC | 348 ms
21,876 KB |
testcase_31 | AC | 344 ms
21,504 KB |
コンパイルメッセージ
Loaded package environment from /root/.ghc/x86_64-linux-8.10.4/environments/default [1 of 1] Compiling Main ( Main.hs, Main.o ) Linking a.out ...
ソースコード
-- Try yukicoder -- author: Leonardone @ NEETSDKASU import System.IO (hFlush, stdout) comm s = do putStrLn s hFlush stdout getLine return () main = do n <- readLn s <- getLine mapM_ comm $ play n s -- (名前,所有数,現在生産性,強化回数,次回購入価格,次回強化価格) items = [ ("click", 1, 1, 0, 0, 15) , ("hand", 0, 1, 0, 150, 1500) , ("lily", 0, 10, 0, 2000, 20000) , ("factory", 0, 120, 0, 30000, 300000) , ("casino", 0, 2000, 0, 600000, 6000000) , ("grimoire", 0, 25000, 0, 10000000, 100000000) ] command (cmd, _, _, _, _) = cmd product (_, prd, _, _, _) = prd updated (_, _, upd, _, _) = upd buyPrice (_, _, _, buy, _) = buy updPrice (_, _, _, _, upc) = upc play n s = game n s items 0 0 False game _ [] _ _ _ _= [] game turn es@(s:ss) items money fever sale = cmd : game (turn-1) ss items2 money2 fever2 sale2 where (cmd, items2, money1) = compute es items money fever sale money2 = money1 + calcBonus s money1 fever2 = updateFever s fever sale2 = isSale s calcBonus s money | s == 'B' = (money + 99) `div` 100 | otherwise = 0 updateFever s fever | s == 'F' = 20 | fever > 0 = fever - 1 | otherwise = 0 isSale = (== 'S') compute es items money fever sale = ("click", items, money)