This commit is contained in:
George Thomas 2025-12-02 02:08:23 +00:00
parent 16349685ba
commit ac194d1d61

View File

@ -35,29 +35,33 @@ puzzle1 =
_ -> Nothing _ -> Nothing
) )
. lines . lines
, part1 = Part { solve = , part1 =
show Part
. sum { solve =
. flip evalState 50 show
. traverse \(d, i) -> state \p -> . sum
let (_, p') = step i d p . flip evalState 50
in (Count if p' == 0 then 1 else 0, p') . traverse \(d, i) -> state \p ->
} let (_, p') = step i d p
, part2 = Part { solve = in (Count if p' == 0 then 1 else 0, p')
show }
. sum , part2 =
. flip evalState 50 Part
. traverse \(d, i) -> state \p -> { solve =
let (c, p') = step i d p show
c' = case d of . sum
R -> abs c . flip evalState 50
L -> . traverse \(d, i) -> state \p ->
if let (c, p') = step i d p
| p == 0 -> abs c - 1 c' = case d of
| p' == 0 -> abs c + 1 R -> abs c
| otherwise -> abs c L ->
in (c', p') if
} | p == 0 -> abs c - 1
| p' == 0 -> abs c + 1
| otherwise -> abs c
in (c', p')
}
} }
data Direction = L | R data Direction = L | R