結果
問題 | No.346 チワワ数え上げ問題 |
ユーザー | pekempey |
提出日時 | 2016-07-29 17:12:01 |
言語 | Haskell (9.8.2) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 734 bytes |
コンパイル時間 | 494 ms |
コンパイル使用メモリ | 149,760 KB |
最終ジャッジ日時 | 2024-11-14 19:48:02 |
合計ジャッジ時間 | 915 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default [1 of 2] Compiling Main ( Main.hs, Main.o ) Main.hs:2:1: error: [GHC-87110] Could not load module ‘Data.Map’. It is a member of the hidden package ‘containers-0.6.8’. Use -v to see a list of the files searched for. | 2 | import Data.Map | ^^^^^^^^^^^^^^^
ソースコード
import Control.Applicative import Data.Map import Data.List import Data.Maybe upd k v = insertWithKey (\k x y -> x + y) k v get k mp = fromMaybe 0 $ Data.Map.lookup k mp dfs :: Int -> String -> (Map [Int] Int) -> Int dfs i [] dp = get [i, 3] dp dfs i (s : ss) dp = dfs (i + 1) ss $ upd [i + 1, 0] (get [i, 0] dp) . upd [i + 1, 1] (get [i, 1] dp) . upd [i + 1, 2] (get [i, 2] dp) . upd [i + 1, 3] (get [i, 3] dp) . (if s == 'c' then upd [i + 1, 1] (get [i, 0] dp) else id) . (if s == 'w' then upd [i + 1, 2] (get [i, 1] dp) else id) . (if s == 'w' then upd [i + 1, 3] (get [i, 2] dp) else id) $ dp main = do s <- getLine let n = length s print $ dfs 0 s $ upd [0, 0] 1 Data.Map.empty