summary refs log tree commit diff
path: root/2/2.hs
diff options
context:
space:
mode:
Diffstat (limited to '2/2.hs')
-rw-r--r--2/2.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/2/2.hs b/2/2.hs
index 0d1f855..ed96a26 100644
--- a/2/2.hs
+++ b/2/2.hs
@@ -25,7 +25,9 @@ handful = space *> (flip (,) <$> read <$> many1 digit) <* space <*> color
 set = M.fromList <$> (sepBy handful $ string ",")
 game = string "Game " *> ((,) <$> read <$> many1 digit) <* string ":" <*> sepBy set (string ";")
 
+games = sepBy game newline
+
 solution :: Game -> Int
 solution = product . M.elems . M.unionsWith max . snd
 
-main = head <$> getArgs >>= readFile >>= print . sum . map solution . catMaybes . map (either (const Nothing) Just . parse game "") <$> lines
\ No newline at end of file
+main = head <$> getArgs >>= readFile >>= print . sum . map solution . either (error.show) id . parse games ""
\ No newline at end of file