結果

問題 No.24 数当てゲーム
ユーザー highdhighd
提出日時 2016-08-20 19:19:33
言語 Haskell
(9.8.2)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 1,058 bytes
コンパイル時間 526 ms
コンパイル使用メモリ 151,936 KB
最終ジャッジ日時 2024-04-27 02:22:03
合計ジャッジ時間 873 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、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:9:1: error: [GHC-87110]
    Could not load module ‘Control.Monad.Trans.Class’.
    It is a member of the hidden package ‘transformers-0.6.1.0’.
    Use -v to see a list of the files searched for.
  |
9 | import Control.Monad.Trans.Class
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Main.hs:10:1: error: [GHC-87110]
    Could not load module ‘Control.Monad.Trans.Maybe’.
    It is a member of the hidden package ‘transformers-0.6.1.0’.
    Use -v to see a list of the files searched for.
   |
10 | import Control.Monad.Trans.Maybe
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ソースコード

diff #

import qualified Data.Text as T
import qualified Data.Text.IO as TI
import Data.Traversable
import Data.Foldable
import Control.Applicative
import Data.Monoid
import Prelude hiding (sequence,foldr,elem)
import Control.Monad hiding (sequence)
import Control.Monad.Trans.Class
import Control.Monad.Trans.Maybe
import Data.Maybe

instance Monoid a => Monoid (IO a) where
	mempty = return mempty
	mappend a b = mappend <$> a <*> b

readLines = sequence.flip replicate TI.getLine

check values [] = values
check values ((True,input):inputs) =  
	let new_values=filter (flip elem input) values
	in check new_values inputs
	
check values ((False,input):inputs) =  
	let new_values=filter (not.flip elem input) values
	in check new_values inputs

parse list = 
	let
		last=list!!(length list-1)
		result=if last=="YES" then True else False
		numbers=fmap read$take 4 list::[Int]
	in (result,numbers)
	
main = do
	n<-read<$>getLine::IO Int
	list<-fmap ((fmap T.unpack).T.split (==' '))<$>readLines n
	let result=head$check [0..9]$fmap parse list
	putStrLn$show result
0