結果

問題 No.1445 新入生プログラミング鯖
ユーザー sanao10000sanao10000
提出日時 2021-11-04 17:57:52
言語 Haskell
(9.8.2)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 2,744 bytes
コンパイル時間 264 ms
コンパイル使用メモリ 152,320 KB
最終ジャッジ日時 2024-04-27 03:59:38
合計ジャッジ時間 665 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、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:19:1: error: [GHC-87110]
    Could not load module ‘Data.Map.Strict’.
    It is a member of the hidden package ‘containers-0.6.8’.
    Use -v to see a list of the files searched for.
   |
19 | import qualified Data.Map.Strict as Map
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Main.hs:20:1: error: [GHC-87110]
    Could not load module ‘Data.Set’.
    It is a member of the hidden package ‘containers-0.6.8’.
    Use -v to see a list of the files searched for.
   |
20 | import qualified Data.Set as Set
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ソースコード

diff #

{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE TypeApplications #-}

import Control.Applicative
import qualified Control.Monad as CM
import Control.Monad.Identity
import qualified Control.Monad.ST as ST
import Control.Monad.State
import qualified Data.Array as A
import qualified Data.Array.IO as AI
import qualified Data.Array.ST as AST
import qualified Data.ByteString.Builder as BB
import qualified Data.ByteString.Char8 as BS
import qualified Data.Char as Ch
import qualified Data.List as L
import qualified Data.Map.Strict as Map
import qualified Data.Set as Set
import qualified Data.Text as T
import qualified Data.Text.IO as T
import qualified Data.Vector.Unboxed as VU
import qualified Data.Vector.Unboxed as VUM
import Prelude hiding (print)

cin :: Sanao a => IO a
cin = sanao <$> BS.getLine

------------------------------------------------------

main = do
  s <- cin @Int
  CM.forM_ [1..s] $ \i -> do
    putStrLn"Hello! You're new here, right? It's nice to meet you."

-------------------------------------------------------
type Moji = BS.ByteString

print :: Show a => a -> IO ()
print x = BS.putStrLn $ BS.pack $ show x

class Sanao a where
  sanao :: Moji -> a
  {-# MINIMAL sanao #-}

instance Sanao Moji where
  sanao = id

instance Sanao Int where
  sanao x = case BS.readInt x of
    Nothing -> error "ここはInt"
    Just (a, _) -> a

instance Sanao Double where
  sanao x = case BS.readInt x of
    Nothing -> error "ここはDouble"
    Just (a, _) -> realToFrac a

instance Sanao [Moji] where
  sanao = BS.words

instance (Sanao a) => Sanao [a] where
  sanao = map sanao . BS.words

instance Sanao (Int, Int) where
  sanao = (\[a, b] -> (a, b)) . map sanao . BS.words

instance Sanao (Int, Int, Int) where
  sanao = (\[a, b, c] -> (a, b, c)) . map sanao . BS.words

instance Sanao (Int, Int, Int, Int) where
  sanao = (\[a, b, c, d] -> (a, b, c, d)) . map sanao . BS.words

instance Sanao (Double, Double) where
  sanao = (\[a, b] -> (a, b)) . map sanao . BS.words

instance Sanao (Double, Double, Double) where
  sanao = (\[a, b, c] -> (a, b, c)) . map sanao . BS.words

instance Sanao (Double, Double, Double, Double) where
  sanao = (\[a, b, c, d] -> (a, b, c, d)) . map sanao . BS.words

instance Sanao (Moji, Int) where
  sanao = (\[a, b] -> (a, sanao b)) . BS.words

instance Sanao (Moji, Int, Int) where
  sanao = (\[a, b, c] -> (a, sanao b, sanao c)) . BS.words

instance Sanao (Int, Moji) where
  sanao = (\[a, b] -> (sanao a, b)) . BS.words

instance Sanao (Moji, Double) where
  sanao = (\[a, b] -> (a, sanao b)) . BS.words

instance Sanao (Double, Moji) where
  sanao = (\[a, b] -> (sanao a, b)) . BS.words
0