From 8ed00a3a4af87fd211d5ae5a627e760adafa03da Mon Sep 17 00:00:00 2001 From: Neil Smith Date: Mon, 6 Jan 2020 14:21:41 +0000 Subject: [PATCH] Part 2 done --- advent20/advent20.dot | 65 ++++++++ advent20/advent20.dot.png | Bin 0 -> 222362 bytes advent20/src/advent20.hs | 265 +++++++++++++++++++++------------ data/advent20c.txt | 37 +++++ problems/day20.html | 303 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 574 insertions(+), 96 deletions(-) create mode 100644 advent20/advent20.dot create mode 100644 advent20/advent20.dot.png create mode 100644 data/advent20c.txt create mode 100644 problems/day20.html diff --git a/advent20/advent20.dot b/advent20/advent20.dot new file mode 100644 index 0000000..e541d7c --- /dev/null +++ b/advent20/advent20.dot @@ -0,0 +1,65 @@ +graph Maze { +# AA_O -- XI_O [ label = "6" style = "solid"]; +AA_O -- YA_I [ label = "60" style = "solid"]; +AM_I -- AM_O [ label = "" style = "dashed"]; +AM_I -- YO_O [ label = "44" style = "solid"]; +AM_O -- DM_I [ label = "74" style = "solid"]; +AW_O -- AW_I [ label = "" style = "dashed"]; +AW_O -- XI_I [ label = "50" style = "solid"]; +AW_I -- GY_O [ label = "44" style = "solid"]; +CQ_O -- CQ_I [ label = "" style = "dashed"]; +CQ_O -- CV_I [ label = "64" style = "solid"]; +CQ_I -- WH_O [ label = "60" style = "solid"]; +CV_O -- CV_I [ label = "" style = "dashed"]; +CV_O -- YO_I [ label = "78" style = "solid"]; +CY_O -- CY_I [ label = "" style = "dashed"]; +CY_O -- GY_I [ label = "48" style = "solid"]; +CY_I -- JV_O [ label = "52" style = "solid"]; +DM_O -- DM_I [ label = "" style = "dashed"]; +DM_O -- GC_I [ label = "58" style = "solid"]; +GC_I -- GC_O [ label = "" style = "dashed"]; +GC_O -- PP_I [ label = "54" style = "solid"]; +GL_O -- GL_I [ label = "" style = "dashed"]; +GL_O -- HB_I [ label = "60" style = "solid"]; +GL_I -- UC_O [ label = "40" style = "solid"]; +GY_I -- GY_O [ label = "" style = "dashed"]; +HB_I -- HB_O [ label = "" style = "dashed"]; +HB_O -- KK_I [ label = "50" style = "solid"]; +JV_I -- JV_O [ label = "" style = "dashed"]; +JV_I -- PP_O [ label = "44" style = "solid"]; +JV_I -- PY_I [ label = "4" style = "solid"]; +JV_I -- XZ_O [ label = "46" style = "solid"]; +KK_O -- KK_I [ label = "" style = "dashed"]; +KK_O -- WH_I [ label = "56" style = "solid"]; +KY_I -- KY_O [ label = "" style = "dashed"]; +KY_I -- YA_O [ label = "52" style = "solid"]; +KY_O -- XZ_I [ label = "52" style = "solid"]; +LM_I -- LM_O [ label = "" style = "dashed"]; +LM_I -- UM_O [ label = "44" style = "solid"]; +LM_O -- YF_I [ label = "44" style = "solid"]; +NZ_O -- NZ_I [ label = "" style = "dashed"]; +NZ_O -- UC_I [ label = "72" style = "solid"]; +# NZ_O -- ZZ_O [ label = "8" style = "solid"]; +NZ_I -- PN_O [ label = "80" style = "solid"]; +PN_O -- PN_I [ label = "" style = "dashed"]; +PN_I -- YF_O [ label = "66" style = "solid"]; +PP_O -- PP_I [ label = "" style = "dashed"]; +PP_O -- PY_I [ label = "42" style = "solid"]; +PP_O -- XZ_O [ label = "4" style = "solid"]; +PY_I -- PY_O [ label = "" style = "dashed"]; +PY_I -- XZ_O [ label = "44" style = "solid"]; +PY_O -- TL_I [ label = "56" style = "solid"]; +TL_O -- TL_I [ label = "" style = "dashed"]; +TL_O -- UM_I [ label = "42" style = "solid"]; +UC_I -- UC_O [ label = "" style = "dashed"]; +UC_I -- ZZ_O [ label = "66" style = "solid"]; +UM_I -- UM_O [ label = "" style = "dashed"]; +WH_I -- WH_O [ label = "" style = "dashed"]; +XI_I -- XI_O [ label = "" style = "dashed"]; +XI_O -- YA_I [ label = "64" style = "solid"]; +XZ_O -- XZ_I [ label = "" style = "dashed"]; +YA_O -- YA_I [ label = "" style = "dashed"]; +YF_O -- YF_I [ label = "" style = "dashed"]; +YO_I -- YO_O [ label = "" style = "dashed"]; + +} diff --git a/advent20/advent20.dot.png b/advent20/advent20.dot.png new file mode 100644 index 0000000000000000000000000000000000000000..c4e1eb6ac6a54e0d6f88f46698e91efe42b8ddac GIT binary patch literal 222362 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

q`Em%Q8vPgRRc2X@ROKV>kV^H|WfUd!< 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 literal 0 HcmV?d00001 diff --git a/advent20/src/advent20.hs b/advent20/src/advent20.hs index 0e2516a..4132d9e 100644 --- a/advent20/src/advent20.hs +++ b/advent20/src/advent20.hs @@ -8,7 +8,7 @@ import qualified Data.PQueue.Prio.Min as P import qualified Data.Set as S import qualified Data.Sequence as Q import Data.Sequence ((<|)) -- , (|>), (><)) -import Data.Foldable (foldl', any, sum) -- (toList, foldr', foldl', all) +import Data.Foldable (foldl', sum) -- (toList, foldr', foldl', all) import Data.Char import Control.Monad.Reader import Control.Lens hiding ((<|), (|>)) @@ -18,8 +18,11 @@ import Data.Maybe (fromMaybe) type Position = (Int, Int) -- r, c + +data Location = Inner | Outer deriving (Eq, Ord, Show) data Portal = Portal { _label :: String , _position :: Position + , _location :: Location } deriving (Eq, Ord, Show) makeLenses ''Portal @@ -43,71 +46,90 @@ data Edge = Edge { _connects :: EdgeConnects } deriving (Eq, Ord, Show) makeLenses ''Edge -type Maze = S.Set Edge +type Edges = S.Set Edge + +-- type Maze = S.Set Edge +data Maze = Maze { _maze :: Edges + , _costPerLevel :: Int + , _costToFinish :: Int + } deriving (Eq, Ord, Show) +-- makeLenses ''Maze type MazeContext = Reader Maze -type ExploredStates = S.Set Portal +class (Eq s, Ord s, Show s) => SearchState s where + successors :: s -> MazeContext (Q.Seq (s, Edge)) + estimateCost :: s -> MazeContext Int + emptySearchState :: Portal -> s + isGoal :: s -> MazeContext Bool + +data LevelledSearchState = LevelledSearchState + { _portalS :: Portal + , _levelS :: Int + } deriving (Eq, Ord, Show) +makeLenses ''LevelledSearchState + -data Agendum = Agendum { _current :: Portal - , _trail :: Q.Seq Edge - , _cost :: Int} deriving (Show, Eq) +type ExploredStates s = S.Set s + +data Agendum s = + Agendum { _current :: s + , _trail :: Q.Seq Edge + , _cost :: Int + } deriving (Show, Eq) makeLenses ''Agendum -type Agenda = P.MinPQueue Int (Agendum) +type Agenda s = P.MinPQueue Int (Agendum s) main :: IO () main = do - -- text <- readFile "data/advent20a.txt" - -- let mc = buildComplex text - -- print mc - -- let maze = contractMaze mc - -- print maze maze <- setup + -- print maze putStrLn $ showContracted maze print $ part1 maze - -- print $ S.size $ edgeC $ _caveE ccE - -- print $ S.size $ _cave $ contractCave ccE [startPosition] - -- putStrLn $ showContracted $ contractCave ccE [startPosition] - -- let (re, ce) = startPosition - -- let startPositions = [(re - 1, ce - 1), (re - 1, ce + 1), (re + 1 , ce - 1), (re + 1, ce + 1)] - -- let cavern0 = ccE ^. caveE - -- let cavern = cavern0 `S.difference` [(re, ce), (re + 1, ce), (re - 1, ce), (re, ce + 1), (re, ce - 1)] - -- let caveComplex = ccE & caveE .~ cavern - -- let cc = contractCave caveComplex startPositions - -- putStrLn $ showContracted cc - -- print $ part1 ccE startPosition - -- print $ part2 ccE startPosition - --- edgeC ec = S.foldl' ecAdd S.empty ec --- where ecAdd es n = S.union (eds n) es --- eds n = S.map (\m -> S.fromList [n, m]) $ nbrs n --- nbrs n = S.intersection ec $ possibleNeighbours n - + print $ part2 maze setup = do text <- readFile "data/advent20.txt" let mc = buildComplex text -- print mc - return $ contractMaze mc -- print maze + return $ contractMaze mc --- part1 :: Maze -> Int -part1 maze = result -- maybe 0 _cost result - where result = runReader searchMaze maze +part1 :: Maze -> Int +-- part1 :: Maze -> Maybe (Agendum Portal) +part1 maze = maybe 0 _cost result + where result = runReader searchMaze maze :: Maybe (Agendum Portal) +part2 :: Maze -> Int +-- part2 :: Maze -> Maybe (Agendum LevelledSearchState) +part2 maze = maybe 0 _cost result + where result = runReader searchMaze maze :: Maybe (Agendum LevelledSearchState) buildComplex :: String -> MazeComplex -buildComplex text = mc & portalLocs .~ pLocs +buildComplex text = mc & portalLocs .~ pLocs & portalsE .~ portals' where mc = foldl' (buildMazeRow rows) mc0 [0..l] mc0 = MazeComplex {_mazeE = S.empty, _portalsE = S.empty, _portalLocs = S.empty} rows = lines text l = length rows - 1 + minR = 2 + maxR = l - 2 + minC = 2 + maxC = length (rows!!2) - 3 pLocs = S.map _position (mc ^. portalsE) + portals = mc ^. portalsE + portals' = S.map (classifiyPortal minR maxR minC maxC) portals + +classifiyPortal :: Int -> Int -> Int -> Int -> Portal -> Portal +classifiyPortal minR maxR minC maxC portal = portal & location .~ loc + where (r, c) = portal ^. position + loc = if (r == minR) || (r == maxR) || (c == minC) || (c == maxC) + then Outer + else Inner buildMazeRow :: [String] -> MazeComplex -> Int -> MazeComplex buildMazeRow rows mc r = foldl' (buildMazeCell rows r) mc [0..l] @@ -127,11 +149,11 @@ buildMazeCell rows r mc c makePortal portals rows hc r c | isUpper rc = if pr == '.' - then S.insert (Portal [hc, rc] (r, c + 2)) portals - else S.insert (Portal [hc, rc] (r, c - 1)) portals + then S.insert (Portal { _label = [hc, rc], _position = (r, c + 2), _location = Outer } ) portals + else S.insert (Portal { _label = [hc, rc], _position = (r, c - 1), _location = Outer } ) portals | isUpper dc = if pd == '.' - then S.insert (Portal [hc, dc] (r + 2, c)) portals - else S.insert (Portal [hc, dc] (r - 1, c)) portals + then S.insert (Portal { _label = [hc, dc], _position = (r + 2, c), _location = Outer } ) portals + else S.insert (Portal { _label = [hc, dc], _position = (r - 1, c), _location = Outer } ) portals | otherwise = portals where -- lc = charAt rows r (c - 1) rc = charAt rows r (c + 1) @@ -142,6 +164,7 @@ makePortal portals rows hc r c -- pl = charAt rows r (c - 1) pr = charAt rows r (c + 2) + charAt :: [String] -> Int -> Int -> Char charAt rows r c = atDef ' ' (atDef "" rows r) c @@ -157,13 +180,19 @@ atMaybe xs i contractMaze :: MazeComplex -> Maze -contractMaze expanded = S.union mazeW mazeP +contractMaze expanded = Maze + { _maze = S.union mazeW mazeP + , _costPerLevel = cpl + , _costToFinish = ctf + } where starts = expanded ^. portalsE - mazeW = S.foldr (contractFrom expanded) S.empty starts - mazeP = S.foldr (addWarp starts) S.empty starts - + mazeP = S.foldr (contractFrom expanded) S.empty starts + mazeW = S.foldr (addWarp starts) S.empty starts + cpl = minimum $ map (^. distance) $ S.toList $ S.filter (\e -> e ^. edgeType == Walk) mazeP + ctf = minimum $ map (^. distance) $ S.toList $ S.filter (edgeTouches term) mazeP + term = S.findMin $ S.filter (\p -> p ^. label == "ZZ") starts -contractFrom :: MazeComplex -> Portal -> Maze -> Maze +contractFrom :: MazeComplex -> Portal -> Edges -> Edges contractFrom expanded start maze0 = S.union maze0 reachables where startPos = start ^. position reachables = reachableFrom [(startPos, 0)] S.empty expanded' start @@ -171,9 +200,9 @@ contractFrom expanded start maze0 = S.union maze0 reachables & portalLocs %~ (S.delete startPos) -- & mazeE %~ (S.delete startPos) -reachableFrom :: [(Position, Int)] -> (S.Set Position) -> MazeComplex -> Portal -> Maze +reachableFrom :: [(Position, Int)] -> (S.Set Position) -> MazeComplex -> Portal -> Edges reachableFrom [] _closed _expanded _start = S.empty -reachableFrom ((here, distance):boundary) closed expanded start +reachableFrom ((here, dist):boundary) closed expanded start | here `S.member` closed = reachableFrom boundary closed expanded start | here `S.member` ps = S.insert edge $ reachableFrom boundary closed' expanded start | otherwise = reachableFrom boundary' closed' expanded start @@ -182,12 +211,12 @@ reachableFrom ((here, distance):boundary) closed expanded start closed' = S.insert here closed ps = expanded ^. portalLocs other = S.findMin $ S.filter (\p -> p ^. position == here) $ expanded ^. portalsE - edge = Edge { _connects = mkConnection start other, _edgeType = Walk, _distance = distance } - neighbours = S.map (\n -> (n, distance + 1)) nbrs + edge = Edge { _connects = mkConnection start other, _edgeType = Walk, _distance = dist } + neighbours = S.map (\n -> (n, dist + 1)) nbrs boundary' = boundary ++ (S.toAscList neighbours) -addWarp :: Portals -> Portal -> Maze -> Maze +addWarp :: Portals -> Portal -> Edges -> Edges addWarp portals portal warps | S.null others = warps | otherwise = S.insert warp warps @@ -197,9 +226,8 @@ addWarp portals portal warps other = S.findMin others warp = Edge {_connects = mkConnection portal other, _edgeType = Teleport, _distance = 1} - portalsConnect :: String -> Position -> Portal -> Bool -portalsConnect lab pos portal = (pLabel == lab) && (not (pPos == pos)) +portalsConnect lab pos portal = (pLabel == lab) && (pPos /= pos) where pLabel = portal ^. label pPos = portal ^. position @@ -207,6 +235,7 @@ portalsConnect lab pos portal = (pLabel == lab) && (not (pPos == pos)) mkConnection :: Portal -> Portal -> EdgeConnects mkConnection a b = if a < b then (a, b) else (b, a) + edgeTouches :: Portal -> Edge -> Bool edgeTouches p e | p == a = True @@ -214,10 +243,6 @@ edgeTouches p e | otherwise = False where (a, b) = e ^. connects --- anyEdgeTouch :: S.Set Portal -> Edge -> Bool --- -- anyEdgeTouch xs e = S.foldl' (\t x -> t || (edgeTouches e x)) False xs --- anyEdgeTouch xs e = any (edgeTouches e) xs - edgeOther :: Portal -> Edge -> Portal edgeOther x e | x == a = b @@ -233,22 +258,22 @@ mazePortals edges = S.foldr' mps S.empty edges in S.insert p1 $ S.insert p2 ps - -searchMaze :: MazeContext (Maybe (Agendum)) +searchMaze :: SearchState s => MazeContext (Maybe (Agendum s)) searchMaze = do agenda <- initAgenda aStar agenda S.empty -initAgenda :: MazeContext (Agenda) +initAgenda :: SearchState s => MazeContext (Agenda s) initAgenda = - do edges <- ask + do edges <- asks _maze let portals = mazePortals edges let portal = S.findMin $ S.filter (\p -> p ^. label == "AA") portals - cost <- estimateCost portal - return $ P.singleton cost Agendum { _current = portal, _trail = Q.empty, _cost = cost} + let ss = emptySearchState portal + c <- estimateCost ss + return $ P.singleton c Agendum { _current = ss, _trail = Q.empty, _cost = c} -aStar :: Agenda -> ExploredStates -> MazeContext (Maybe (Agendum)) +aStar :: SearchState s => Agenda s -> ExploredStates s -> MazeContext (Maybe (Agendum s)) aStar agenda closed -- | trace ("Peeping " ++ (show $ fst $ P.findMin agenda) ++ ": " ++ (show reached) ++ " <- " ++ (show $ toList $ Q.take 1 $ _trail $ currentAgendum) ++ " :: " ++ (show newAgenda)) False = undefined -- | trace ("Peeping " ++ (show $ _current $ snd $ P.findMin agenda) ) False = undefined @@ -266,57 +291,105 @@ aStar agenda closed else aStar newAgenda (S.insert reached closed) -isGoal :: Portal -> MazeContext Bool -isGoal portal = return $ portal ^. label == "ZZ" - -candidates :: Agendum -> ExploredStates -> MazeContext (Q.Seq (Agendum)) +candidates :: SearchState s => Agendum s -> ExploredStates s -> MazeContext (Q.Seq (Agendum s)) candidates agendum closed = do let candidate = agendum ^. current let previous = agendum ^. trail + -- let prevCost = agendum ^. cost succs <- successors candidate let nonloops = Q.filter (\s -> not $ (fst s) `S.member` closed) succs mapM (makeAgendum previous) nonloops -makeAgendum :: (Q.Seq Edge) -> (Portal, Edge) -> MazeContext (Agendum) +makeAgendum :: SearchState s => (Q.Seq Edge) -> (s, Edge) -> MazeContext (Agendum s) makeAgendum previous (newP, newE) = do predicted <- estimateCost newP - let incurred = (newE ^. distance) + (sum $ fmap (^. distance) previous) + let newTrail = newE <| previous + let incurred = sum $ fmap (^. distance) newTrail return Agendum { _current = newP - , _trail = newE <| previous + , _trail = newTrail , _cost = incurred + predicted } -successors :: Portal -> MazeContext (Q.Seq (Portal, Edge)) -successors portal = - do maze <- ask - let edges = S.filter (edgeTouches portal) maze - let locations = S.map (\e -> (edgeOther portal e, e)) edges - let succs = S.foldr' (<|) Q.empty locations - return succs - -estimateCost :: Portal -> MazeContext Int -estimateCost portal = return 0 - -- do let heres = explorer ^. position - -- ks <- asks _keys - -- cavern <- asks _cave - -- let kH = explorer ^. keysHeld - -- let unfound = ks `S.difference` kH - -- let unfoundEdges0 = S.filter (\e -> edgeTouch heres e) cavern - -- let unfoundEdges = S.filter (\e -> not $ anyEdgeTouch kH e) unfoundEdges0 - -- let furthest = S.findMax $ S.insert 0 $ S.map _distance unfoundEdges - -- return $ max 0 $ furthest + (S.size unfound) - 1 - - - +instance SearchState Portal where + + emptySearchState portal = portal + + -- successors :: Portal -> MazeContext (Q.Seq (Portal, Edge)) + successors portal = + do maze <- asks _maze + let edges = S.filter (edgeTouches portal) maze + let locations = S.map (\e -> (edgeOther portal e, e)) edges + let succs = S.foldr' (<|) Q.empty locations + return succs + + -- estimateCost :: Portal -> MazeContext Int + estimateCost _portal = return 0 + + -- isGoal :: Portal -> MazeContext Bool + isGoal portal = return $ portal ^. label == "ZZ" + +instance SearchState LevelledSearchState where + emptySearchState portal = LevelledSearchState {_portalS = portal, _levelS = 0} + + -- successors :: LevelledSearchState -> MazeContext (Q.Seq (LevelledSearchState, Edge)) + successors ss = + do maze <- asks _maze + let lvl = ss ^. levelS + let portal = ss ^. portalS + let edges = S.filter (edgeTouches portal) maze + let lvlEdges = S.filter (edgeAtLevel portal lvl) edges + let locations = S.map (\e -> (newLSS portal lvl e, e)) lvlEdges + let locations' = S.filter (\(s, _) -> (s ^. levelS) >= 0) locations + let succs = S.foldr' (<|) Q.empty locations' + return succs + + -- estimateCost :: Portal -> MazeContext Int + estimateCost ss = -- return 0 + do let lvl = ss ^. levelS + cpl <- asks _costPerLevel + ctf <- asks _costToFinish + let cplT = if ss ^. portalS . location == Outer + then cpl * (lvl - 1) + 1 + else cpl * lvl + if isTerminal (ss ^. portalS) + then return 0 + else return (cplT + ctf) + + -- isGoal :: LevelledSearchState -> MazeContext Bool + isGoal ss = return $ ss ^. portalS . label == "ZZ" + +edgeAtLevel portal lvl edge + -- | (lvl == 0) && (isTerminal other) && (et == Walk) = True + | (lvl /= 0) && (isTerminal other) && (et == Walk) = False + | (lvl == 0) && (not $ isTerminal other) && (et == Walk) && ((other ^. location) == Outer) = False + | otherwise = True + where other = edgeOther portal edge + et = edge ^. edgeType + +isTerminal p = (p ^. label == "AA") || (p ^. label == "ZZ") + +newLSS :: Portal -> Int -> Edge -> LevelledSearchState +newLSS portal lvl edge + | et == Teleport && pl == Outer = LevelledSearchState { _portalS = otherPortal, _levelS = lvl - 1 } + | et == Teleport && pl == Inner = LevelledSearchState { _portalS = otherPortal, _levelS = lvl + 1 } + | otherwise = LevelledSearchState { _portalS = otherPortal, _levelS = lvl } -- et == Walk + where pl = portal ^. location + et = edge ^. edgeType + otherPortal = edgeOther portal edge showContracted :: Maze -> String -showContracted maze = "graph Maze {\n" ++ bulk ++ "\n}" - where bulk = S.foldr (\e s -> (showEdge e) ++ s) "" maze +showContracted m = "graph Maze {\n" ++ bulk ++ "\n}" + where bulk = S.foldr (\e s -> (showEdge e) ++ s) "" (_maze m) showEdge :: Edge -> String -showEdge e = (showPortal h) ++ " -- " ++ (showPortal t) ++ " [ label = \"" ++ (edgeLabel e) ++ "\"];\n" - where edgeLabel e = (show (e ^. edgeType)) ++ ", " ++ (show (e ^. distance)) +showEdge e = (showPortal h) ++ " -- " ++ (showPortal t) ++ " [ label = \"" ++ edgeLabel ++ "\" style = \"" ++ style ++ "\"];\n" + where -- edgeLabel e = (show (e ^. edgeType)) ++ ", " ++ (show (e ^. distance)) + (edgeLabel, style) = + if (e ^. edgeType) == Walk + then (show (e ^. distance), "solid") + else ("", "dashed") (h, t) = e ^. connects - showPortal p = p ^. label ++ (show (fst (p ^. position))) ++ "c" ++ (show (snd (p ^. position))) + -- showPortal p = p ^. label ++ (show (fst (p ^. position))) ++ "c" ++ (show (snd (p ^. position))) ++ (take 1 $ show (p ^. location)) + showPortal p = p ^. label ++ "_" ++ (take 1 $ show (p ^. location)) diff --git a/data/advent20c.txt b/data/advent20c.txt new file mode 100644 index 0000000..754d23b --- /dev/null +++ b/data/advent20c.txt @@ -0,0 +1,37 @@ + Z L X W C + Z P Q B K + ###########.#.#.#.#######.############### + #...#.......#.#.......#.#.......#.#.#...# + ###.#.#.#.#.#.#.#.###.#.#.#######.#.#.### + #.#...#.#.#...#.#.#...#...#...#.#.......# + #.###.#######.###.###.#.###.###.#.####### + #...#.......#.#...#...#.............#...# + #.#########.#######.#.#######.#######.### + #...#.# F R I Z #.#.#.# + #.###.# D E C H #.#.#.# + #.#...# #...#.# + #.###.# #.###.# + #.#....OA WB..#.#..ZH + #.###.# #.#.#.# +CJ......# #.....# + ####### ####### + #.#....CK #......IC + #.###.# #.###.# + #.....# #...#.# + ###.### #.#.#.# +XF....#.# RF..#.#.# + #####.# ####### + #......CJ NM..#...# + ###.#.# #.###.# +RE....#.# #......RF + ###.### X X L #.#.#.# + #.....# F Q P #.#.#.# + ###.###########.###.#######.#########.### + #.....#...#.....#.......#...#.....#.#...# + #####.#.###.#######.#######.###.###.#.#.# + #.......#.......#.#.#.#.#...#...#...#.#.# + #####.###.#####.#.#.#.#.###.###.#.###.### + #.......#.....#.#...#...............#...# + #############.#.#.###.################### + A O F N + A A D M \ No newline at end of file diff --git a/problems/day20.html b/problems/day20.html new file mode 100644 index 0000000..befc650 --- /dev/null +++ b/problems/day20.html @@ -0,0 +1,303 @@ + + + + +Day 20 - Advent of Code 2019 + + + + + + + +

+ + + +
+ +

--- Day 20: Donut Maze ---

You notice a strange pattern on the surface of Pluto and land nearby to get a closer look. Upon closer inspection, you realize you've come across one of the famous space-warping mazes of the long-lost Pluto civilization!

+

Because there isn't much space on Pluto, the civilization that used to live here thrived by inventing a method for folding spacetime. Although the technology is no longer understood, mazes like this one provide a small glimpse into the daily life of an ancient Pluto citizen.

+

This maze is shaped like a donut. Portals along the inner and outer edge of the donut can instantly teleport you from one side to the other. For example:

+
         A           
+         A           
+  #######.#########  
+  #######.........#  
+  #######.#######.#  
+  #######.#######.#  
+  #######.#######.#  
+  #####  B    ###.#  
+BC...##  C    ###.#  
+  ##.##       ###.#  
+  ##...DE  F  ###.#  
+  #####    G  ###.#  
+  #########.#####.#  
+DE..#######...###.#  
+  #.#########.###.#  
+FG..#########.....#  
+  ###########.#####  
+             Z       
+             Z       
+
+

This map of the maze shows solid walls (#) and open passages (.). Every maze on Pluto has a start (the open tile next to AA) and an end (the open tile next to ZZ). Mazes on Pluto also have portals; this maze has three pairs of portals: BC, DE, and FG. When on an open tile next to one of these labels, a single step can take you to the other tile with the same label. (You can only walk on . tiles; labels and empty space are not traversable.)

+

One path through the maze doesn't require any portals. Starting at AA, you could go down 1, right 8, down 12, left 4, and down 1 to reach ZZ, a total of 26 steps.

+

However, there is a shorter path: You could walk from AA to the inner BC portal (4 steps), warp to the outer BC portal (1 step), walk to the inner DE (6 steps), warp to the outer DE (1 step), walk to the outer FG (4 steps), warp to the inner FG (1 step), and finally walk to ZZ (6 steps). In total, this is only 23 steps.

+

Here is a larger example:

+
                   A               
+                   A               
+  #################.#############  
+  #.#...#...................#.#.#  
+  #.#.#.###.###.###.#########.#.#  
+  #.#.#.......#...#.....#.#.#...#  
+  #.#########.###.#####.#.#.###.#  
+  #.............#.#.....#.......#  
+  ###.###########.###.#####.#.#.#  
+  #.....#        A   C    #.#.#.#  
+  #######        S   P    #####.#  
+  #.#...#                 #......VT
+  #.#.#.#                 #.#####  
+  #...#.#               YN....#.#  
+  #.###.#                 #####.#  
+DI....#.#                 #.....#  
+  #####.#                 #.###.#  
+ZZ......#               QG....#..AS
+  ###.###                 #######  
+JO..#.#.#                 #.....#  
+  #.#.#.#                 ###.#.#  
+  #...#..DI             BU....#..LF
+  #####.#                 #.#####  
+YN......#               VT..#....QG
+  #.###.#                 #.###.#  
+  #.#...#                 #.....#  
+  ###.###    J L     J    #.#.###  
+  #.....#    O F     P    #.#...#  
+  #.###.#####.#.#####.#####.###.#  
+  #...#.#.#...#.....#.....#.#...#  
+  #.#####.###.###.#.#.#########.#  
+  #...#.#.....#...#.#.#.#.....#.#  
+  #.###.#####.###.###.#.#.#######  
+  #.#.........#...#.............#  
+  #########.###.###.#############  
+           B   J   C               
+           U   P   P               
+
+

Here, AA has no direct path to ZZ, but it does connect to AS and CP. By passing through AS, QG, BU, and JO, you can reach ZZ in 58 steps.

+

In your maze, how many steps does it take to get from the open tile marked AA to the open tile marked ZZ?

+
+

Your puzzle answer was 556.

--- Part Two ---

Strangely, the exit isn't open when you reach it. Then, you remember: the ancient Plutonians were famous for building recursive spaces.

+

The marked connections in the maze aren't portals: they physically connect to a larger or smaller copy of the maze. Specifically, the labeled tiles around the inside edge actually connect to a smaller copy of the same maze, and the smaller copy's inner labeled tiles connect to yet a smaller copy, and so on.

+

When you enter the maze, you are at the outermost level; when at the outermost level, only the outer labels AA and ZZ function (as the start and end, respectively); all other outer labeled tiles are effectively walls. At any other level, AA and ZZ count as walls, but the other outer labeled tiles bring you one level outward.

+

Your goal is to find a path through the maze that brings you back to ZZ at the outermost level of the maze.

+

In the first example above, the shortest path is now the loop around the right side. If the starting level is 0, then taking the previously-shortest path would pass through BC (to level 1), DE (to level 2), and FG (back to level 1). Because this is not the outermost level, ZZ is a wall, and the only option is to go back around to BC, which would only send you even deeper into the recursive maze.

+

In the second example above, there is no path that brings you to ZZ at the outermost level.

+

Here is a more interesting example:

+
             Z L X W       C                 
+             Z P Q B       K                 
+  ###########.#.#.#.#######.###############  
+  #...#.......#.#.......#.#.......#.#.#...#  
+  ###.#.#.#.#.#.#.#.###.#.#.#######.#.#.###  
+  #.#...#.#.#...#.#.#...#...#...#.#.......#  
+  #.###.#######.###.###.#.###.###.#.#######  
+  #...#.......#.#...#...#.............#...#  
+  #.#########.#######.#.#######.#######.###  
+  #...#.#    F       R I       Z    #.#.#.#  
+  #.###.#    D       E C       H    #.#.#.#  
+  #.#...#                           #...#.#  
+  #.###.#                           #.###.#  
+  #.#....OA                       WB..#.#..ZH
+  #.###.#                           #.#.#.#  
+CJ......#                           #.....#  
+  #######                           #######  
+  #.#....CK                         #......IC
+  #.###.#                           #.###.#  
+  #.....#                           #...#.#  
+  ###.###                           #.#.#.#  
+XF....#.#                         RF..#.#.#  
+  #####.#                           #######  
+  #......CJ                       NM..#...#  
+  ###.#.#                           #.###.#  
+RE....#.#                           #......RF
+  ###.###        X   X       L      #.#.#.#  
+  #.....#        F   Q       P      #.#.#.#  
+  ###.###########.###.#######.#########.###  
+  #.....#...#.....#.......#...#.....#.#...#  
+  #####.#.###.#######.#######.###.###.#.#.#  
+  #.......#.......#.#.#.#.#...#...#...#.#.#  
+  #####.###.#####.#.#.#.#.###.###.#.###.###  
+  #.......#.....#.#...#...............#...#  
+  #############.#.#.###.###################  
+               A O F   N                     
+               A A D   M                     
+
+

One shortest path through the maze is the following:

+
    +
  • Walk from AA to XF (16 steps)
  • +
  • Recurse into level 1 through XF (1 step)
  • +
  • Walk from XF to CK (10 steps)
  • +
  • Recurse into level 2 through CK (1 step)
  • +
  • Walk from CK to ZH (14 steps)
  • +
  • Recurse into level 3 through ZH (1 step)
  • +
  • Walk from ZH to WB (10 steps)
  • +
  • Recurse into level 4 through WB (1 step)
  • +
  • Walk from WB to IC (10 steps)
  • +
  • Recurse into level 5 through IC (1 step)
  • +
  • Walk from IC to RF (10 steps)
  • +
  • Recurse into level 6 through RF (1 step)
  • +
  • Walk from RF to NM (8 steps)
  • +
  • Recurse into level 7 through NM (1 step)
  • +
  • Walk from NM to LP (12 steps)
  • +
  • Recurse into level 8 through LP (1 step)
  • +
  • Walk from LP to FD (24 steps)
  • +
  • Recurse into level 9 through FD (1 step)
  • +
  • Walk from FD to XQ (8 steps)
  • +
  • Recurse into level 10 through XQ (1 step)
  • +
  • Walk from XQ to WB (4 steps)
  • +
  • Return to level 9 through WB (1 step)
  • +
  • Walk from WB to ZH (10 steps)
  • +
  • Return to level 8 through ZH (1 step)
  • +
  • Walk from ZH to CK (14 steps)
  • +
  • Return to level 7 through CK (1 step)
  • +
  • Walk from CK to XF (10 steps)
  • +
  • Return to level 6 through XF (1 step)
  • +
  • Walk from XF to OA (14 steps)
  • +
  • Return to level 5 through OA (1 step)
  • +
  • Walk from OA to CJ (8 steps)
  • +
  • Return to level 4 through CJ (1 step)
  • +
  • Walk from CJ to RE (8 steps)
  • +
  • Return to level 3 through RE (1 step)
  • +
  • Walk from RE to IC (4 steps)
  • +
  • Recurse into level 4 through IC (1 step)
  • +
  • Walk from IC to RF (10 steps)
  • +
  • Recurse into level 5 through RF (1 step)
  • +
  • Walk from RF to NM (8 steps)
  • +
  • Recurse into level 6 through NM (1 step)
  • +
  • Walk from NM to LP (12 steps)
  • +
  • Recurse into level 7 through LP (1 step)
  • +
  • Walk from LP to FD (24 steps)
  • +
  • Recurse into level 8 through FD (1 step)
  • +
  • Walk from FD to XQ (8 steps)
  • +
  • Recurse into level 9 through XQ (1 step)
  • +
  • Walk from XQ to WB (4 steps)
  • +
  • Return to level 8 through WB (1 step)
  • +
  • Walk from WB to ZH (10 steps)
  • +
  • Return to level 7 through ZH (1 step)
  • +
  • Walk from ZH to CK (14 steps)
  • +
  • Return to level 6 through CK (1 step)
  • +
  • Walk from CK to XF (10 steps)
  • +
  • Return to level 5 through XF (1 step)
  • +
  • Walk from XF to OA (14 steps)
  • +
  • Return to level 4 through OA (1 step)
  • +
  • Walk from OA to CJ (8 steps)
  • +
  • Return to level 3 through CJ (1 step)
  • +
  • Walk from CJ to RE (8 steps)
  • +
  • Return to level 2 through RE (1 step)
  • +
  • Walk from RE to XQ (14 steps)
  • +
  • Return to level 1 through XQ (1 step)
  • +
  • Walk from XQ to FD (8 steps)
  • +
  • Return to level 0 through FD (1 step)
  • +
  • Walk from FD to ZZ (18 steps)
  • +
+

This path takes a total of 396 steps to move from AA at the outermost layer to ZZ at the outermost layer.

+

In your maze, when accounting for recursion, how many steps does it take to get from the open tile marked AA to the open tile marked ZZ, both at the outermost layer?

+
+

Your puzzle answer was 6532.

Both parts of this puzzle are complete! They provide two gold stars: **

+

At this point, you should return to your Advent calendar and try another puzzle.

+

If you still want to see it, you can get your puzzle input.

+

You can also this puzzle.

+
+ + + + + + \ No newline at end of file -- 2.34.1