projects
/
advent-of-code-23.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tidying
[advent-of-code-23.git]
/
advent11
/
Main.hs
diff --git
a/advent11/Main.hs
b/advent11/Main.hs
index cfdbe0ea871162939205b963a3eb5f9c018ea9d2..2a94423835cf52ea4f13e91684513259c38ae9e3 100644
(file)
--- a/
advent11/Main.hs
+++ b/
advent11/Main.hs
@@
-22,15
+22,13
@@
main =
print $ part2 galaxies
part1, part2 :: Galaxies -> Int
print $ part2 galaxies
part1, part2 :: Galaxies -> Int
-part1 galaxies = allDistances $ expandGalaxies galaxies 2
-
-part2 galaxies = allDistances $ expandGalaxies galaxies (10^6)
+part1 = allDistances . expandGalaxies 2
+part2 = allDistances . expandGalaxies (10^6)
allDistances :: Galaxies -> Int
allDistances gs = case S.minView gs of
Nothing -> 0
allDistances :: Galaxies -> Int
allDistances gs = case S.minView gs of
Nothing -> 0
- Just (g, gs') -> (S.foldl' (
- addDist g) 0 gs) + allDistances gs'
+ Just (g, gs') -> (S.foldl' (addDist g) 0 gs) + allDistances gs'
where addDist g1 acc g2 = acc + distance g1 g2
distance :: Position -> Position -> Int
where addDist g1 acc g2 = acc + distance g1 g2
distance :: Position -> Position -> Int
@@
-38,8
+36,8
@@
distance g1 g2 = abs dr + abs dc
where (V2 dr dc) = g1 ^-^ g2
where (V2 dr dc) = g1 ^-^ g2
-expandGalaxies ::
Galaxies -> Int
-> Galaxies
-expandGalaxies
galaxies scale
= galaxies''
+expandGalaxies ::
Int -> Galaxies
-> Galaxies
+expandGalaxies
scale galaxies
= galaxies''
where er = emptyRows galaxies
galaxies' = expandRows galaxies er scale
ec = emptyCols galaxies'
where er = emptyRows galaxies
galaxies' = expandRows galaxies er scale
ec = emptyCols galaxies'