Submission #9195632


Source Code Expand

import qualified Data.ByteString.Char8 as BS
import           Data.List
import           Data.Maybe

main = do
  str <- BS.getLine
  putStrLn $
    if solve str
      then "YES"
      else "NO"

wordsForParse :: [BS.ByteString]
wordsForParse = map BS.pack ["dream", "dreamer", "erase", "eraser"]

parseTail :: BS.ByteString -> Maybe BS.ByteString
parseTail str = find (`BS.isSuffixOf` str) wordsForParse

solve :: BS.ByteString -> Bool
solve str
  | str == BS.empty = True
  | otherwise =
    case parseTail str of
      Just w  -> solve $ BS.take (BS.length str - BS.length w) str
      Nothing -> False

Submission Info

Submission Time
Task ABC049C - Daydream
User ikngtty
Language Haskell (GHC 7.10.3)
Score 300
Code Size 629 Byte
Status AC
Exec Time 3 ms
Memory 1148 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 19
Set Name Test Cases
Sample subtask0_0.txt, subtask0_1.txt, subtask0_2.txt
All subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt
Case Name Status Exec Time Memory
subtask0_0.txt AC 1 ms 380 KiB
subtask0_1.txt AC 1 ms 380 KiB
subtask0_2.txt AC 1 ms 380 KiB
subtask1_0.txt AC 2 ms 1148 KiB
subtask1_1.txt AC 2 ms 1148 KiB
subtask1_10.txt AC 3 ms 1148 KiB
subtask1_11.txt AC 3 ms 1148 KiB
subtask1_12.txt AC 3 ms 1148 KiB
subtask1_13.txt AC 3 ms 1148 KiB
subtask1_14.txt AC 2 ms 1020 KiB
subtask1_15.txt AC 2 ms 1148 KiB
subtask1_2.txt AC 2 ms 764 KiB
subtask1_3.txt AC 3 ms 1148 KiB
subtask1_4.txt AC 3 ms 1148 KiB
subtask1_5.txt AC 3 ms 1148 KiB
subtask1_6.txt AC 3 ms 1148 KiB
subtask1_7.txt AC 3 ms 1148 KiB
subtask1_8.txt AC 3 ms 1148 KiB
subtask1_9.txt AC 3 ms 1148 KiB