Skip to content

Commit 58566c4

Browse files
committed
Scaffold p2
1 parent a76e0c1 commit 58566c4

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

05.hs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import Text.Parsec
22
import Text.Parsec.String (Parser)
33
import Control.Monad (void)
4+
import Control.Applicative (liftA2)
45

56
main :: IO ()
6-
main = interact $ (++ "\n") . show . p1 . parseAlmanac
7+
main = interact $ (++ "\n") . show . liftA2 (,) p1 p2 . parseAlmanac
78

89
data Almanac = Almanac { seeds :: [Int], maps :: [RangesMap] } deriving Show
910
type RangesMap = [RangeMap]
@@ -70,3 +71,7 @@ mapRangeMap RangeMap { destinationRange, sourceRange, rangeLength } s =
7071
p1 Almanac { seeds, maps } = xsmin $ fmap (rtraverse maps) seeds
7172

7273
xsmin xs = foldl1 min xs
74+
75+
p2 al = p1 $ al { seeds = expand (seeds al) }
76+
77+
expand seeds = seeds

0 commit comments

Comments
 (0)