結果
問題 | No.423 ハムスター語初級(数詞) |
ユーザー | NaruY |
提出日時 | 2018-02-15 22:02:17 |
言語 | Haskell (9.8.2) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 880 bytes |
コンパイル時間 | 1,406 ms |
コンパイル使用メモリ | 148,992 KB |
最終ジャッジ日時 | 2024-06-09 09:45:16 |
合計ジャッジ時間 | 1,775 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、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:4: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. | 4 | import qualified Data.Map as Map | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ソースコード
import Control.Monad import Control.Applicative import Data.List import qualified Data.Map as Map import Data.Array import qualified Data.ByteString.Char8 as BC import Data.Maybe strToInt s = (read :: String -> Int) s b2i xs = foldl (\x y -> 2 * x + y) 0 $ map (\x -> read [x]) xs i2b = concat . (map show) . reverse . i2b' where i2b' 0 = []; i2b' n = mod n 2 : i2b' (div n 2) main = do ham <- getLine let answ1 = show $ i2b $ 2 * (b2i $ conv ham) let answ2 = foldr (++) [] (map ans answ1) if answ2 == [] then putStrLn $ "ham" else putStrLn $ answ2 ans :: Char -> String ans '0' = "ham" ans '1' = "hamu" ans _ = "" conv :: String -> String conv [] = [] conv ham = if (length ham) <= 3 then "0" else if (take 4 ham) == "hamu" then "1" ++ conv (drop 4 ham) else "0" ++ conv (drop 3 ham)