From 0415c9eacf2a288eabfc01f3b9a02f1ad0dd7c97 Mon Sep 17 00:00:00 2001 From: pingu Date: Tue, 10 Dec 2024 08:18:14 +0100 Subject: [PATCH] Part 2 easy --- app/10.hs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/10.hs b/app/10.hs index 20a7fba..ce1de60 100644 --- a/app/10.hs +++ b/app/10.hs @@ -21,12 +21,17 @@ travel :: (Int,Int) -> Matrix Int -> [(Int,Int)] travel p s = let curr = uncurry getElem p s in if curr == 9 then [p] else getAbove p s >>= (`travel` s) +travel' :: (Int,Int) -> Matrix Int -> Int +travel' p s = let curr = uncurry getElem p s in + if curr == 9 then 1 else sum $ getAbove p s <&> (`travel'` s) + solve1 :: Matrix Int -> Int solve1 s = length . concatMap (nub . (`travel` s)) $ getAllDigit 0 s -solve2 = undefined +solve2 :: Matrix Int -> Int +solve2 s = sum . ((`travel'` s) <$>) $ getAllDigit 0 s main :: IO () main = readFile "inputs/10" <&> parse >>= \i -> - print (solve1 i) - -- >> print (solve2 i) + print (solve1 i) >> + print (solve2 i)