191 lines
5.0 KiB
Plaintext
191 lines
5.0 KiB
Plaintext
Advent of Code
|
|
|
|
--- Day 16: Reindeer Maze ---
|
|
|
|
It's time again for the [16]Reindeer Olympics! This year, the big event is
|
|
the Reindeer Maze, where the Reindeer compete for the lowest score.
|
|
|
|
You and The Historians arrive to search for the Chief right as the event
|
|
is about to start. It wouldn't hurt to watch a little, right?
|
|
|
|
The Reindeer start on the Start Tile (marked S) facing East and need to
|
|
reach the End Tile (marked E). They can move forward one tile at a time
|
|
(increasing their score by 1 point), but never into a wall (#). They can
|
|
also rotate clockwise or counterclockwise 90 degrees at a time (increasing
|
|
their score by 1000 points).
|
|
|
|
To figure out the best place to sit, you start by grabbing a map (your
|
|
puzzle input) from a nearby kiosk. For example:
|
|
|
|
###############
|
|
#.......#....E#
|
|
#.#.###.#.###.#
|
|
#.....#.#...#.#
|
|
#.###.#####.#.#
|
|
#.#.#.......#.#
|
|
#.#.#####.###.#
|
|
#...........#.#
|
|
###.#.#####.#.#
|
|
#...#.....#.#.#
|
|
#.#.#.###.#.#.#
|
|
#.....#...#.#.#
|
|
#.###.#.#.#.#.#
|
|
#S..#.....#...#
|
|
###############
|
|
|
|
There are many paths through this maze, but taking any of the best paths
|
|
would incur a score of only 7036. This can be achieved by taking a total
|
|
of 36 steps forward and turning 90 degrees a total of 7 times:
|
|
|
|
###############
|
|
#.......#....E#
|
|
#.#.###.#.###^#
|
|
#.....#.#...#^#
|
|
#.###.#####.#^#
|
|
#.#.#.......#^#
|
|
#.#.#####.###^#
|
|
#..>>>>>>>>v#^#
|
|
###^#.#####v#^#
|
|
#>>^#.....#v#^#
|
|
#^#.#.###.#v#^#
|
|
#^....#...#v#^#
|
|
#^###.#.#.#v#^#
|
|
#S..#.....#>>^#
|
|
###############
|
|
|
|
Here's a second example:
|
|
|
|
#################
|
|
#...#...#...#..E#
|
|
#.#.#.#.#.#.#.#.#
|
|
#.#.#.#...#...#.#
|
|
#.#.#.#.###.#.#.#
|
|
#...#.#.#.....#.#
|
|
#.#.#.#.#.#####.#
|
|
#.#...#.#.#.....#
|
|
#.#.#####.#.###.#
|
|
#.#.#.......#...#
|
|
#.#.###.#####.###
|
|
#.#.#...#.....#.#
|
|
#.#.#.#####.###.#
|
|
#.#.#.........#.#
|
|
#.#.#.#########.#
|
|
#S#.............#
|
|
#################
|
|
|
|
In this maze, the best paths cost 11048 points; following one such path
|
|
would look like this:
|
|
|
|
#################
|
|
#...#...#...#..E#
|
|
#.#.#.#.#.#.#.#^#
|
|
#.#.#.#...#...#^#
|
|
#.#.#.#.###.#.#^#
|
|
#>>v#.#.#.....#^#
|
|
#^#v#.#.#.#####^#
|
|
#^#v..#.#.#>>>>^#
|
|
#^#v#####.#^###.#
|
|
#^#v#..>>>>^#...#
|
|
#^#v###^#####.###
|
|
#^#v#>>^#.....#.#
|
|
#^#v#^#####.###.#
|
|
#^#v#^........#.#
|
|
#^#v#^#########.#
|
|
#S#>>^..........#
|
|
#################
|
|
|
|
Note that the path shown above includes one 90 degree turn as the very
|
|
first move, rotating the Reindeer from facing East to facing North.
|
|
|
|
Analyze your map carefully. What is the lowest score a Reindeer could
|
|
possibly get?
|
|
|
|
Your puzzle answer was 72400.
|
|
|
|
--- Part Two ---
|
|
|
|
Now that you know what the best paths look like, you can figure out the
|
|
best spot to sit.
|
|
|
|
Every non-wall tile (S, ., or E) is equipped with places to sit along the
|
|
edges of the tile. While determining which of these tiles would be the
|
|
best spot to sit depends on a whole bunch of factors (how comfortable the
|
|
seats are, how far away the bathrooms are, whether there's a pillar
|
|
blocking your view, etc.), the most important factor is whether the tile
|
|
is on one of the best paths through the maze. If you sit somewhere else,
|
|
you'd miss all the action!
|
|
|
|
So, you'll need to determine which tiles are part of any best path through
|
|
the maze, including the S and E tiles.
|
|
|
|
In the first example, there are 45 tiles (marked O) that are part of at
|
|
least one of the various best paths through the maze:
|
|
|
|
###############
|
|
#.......#....O#
|
|
#.#.###.#.###O#
|
|
#.....#.#...#O#
|
|
#.###.#####.#O#
|
|
#.#.#.......#O#
|
|
#.#.#####.###O#
|
|
#..OOOOOOOOO#O#
|
|
###O#O#####O#O#
|
|
#OOO#O....#O#O#
|
|
#O#O#O###.#O#O#
|
|
#OOOOO#...#O#O#
|
|
#O###.#.#.#O#O#
|
|
#O..#.....#OOO#
|
|
###############
|
|
|
|
In the second example, there are 64 tiles that are part of at least one of
|
|
the best paths:
|
|
|
|
#################
|
|
#...#...#...#..O#
|
|
#.#.#.#.#.#.#.#O#
|
|
#.#.#.#...#...#O#
|
|
#.#.#.#.###.#.#O#
|
|
#OOO#.#.#.....#O#
|
|
#O#O#.#.#.#####O#
|
|
#O#O..#.#.#OOOOO#
|
|
#O#O#####.#O###O#
|
|
#O#O#..OOOOO#OOO#
|
|
#O#O###O#####O###
|
|
#O#O#OOO#..OOO#.#
|
|
#O#O#O#####O###.#
|
|
#O#O#OOOOOOO..#.#
|
|
#O#O#O#########.#
|
|
#O#OOO..........#
|
|
#################
|
|
|
|
Analyze your map further. How many tiles are part of at least one of the
|
|
best paths through the maze?
|
|
|
|
Your puzzle answer was 435.
|
|
|
|
Both parts of this puzzle are complete! They provide two gold stars: **
|
|
|
|
At this point, you should [17]return to your Advent calendar and try
|
|
another puzzle.
|
|
|
|
If you still want to see it, you can [18]get your puzzle input.
|
|
|
|
References
|
|
|
|
Visible links
|
|
1. https://adventofcode.com/
|
|
2. https://adventofcode.com/2024/about
|
|
3. https://adventofcode.com/2024/events
|
|
5. https://adventofcode.com/2024/settings
|
|
6. https://adventofcode.com/2024/auth/logout
|
|
7. Advent of Code Supporter
|
|
https://adventofcode.com/2024/support
|
|
8. https://adventofcode.com/2024
|
|
9. https://adventofcode.com/2024
|
|
10. https://adventofcode.com/2024/support
|
|
12. https://adventofcode.com/2024/leaderboard
|
|
13. https://adventofcode.com/2024/stats
|
|
16. https://adventofcode.com/2015/day/14
|
|
17. https://adventofcode.com/2024
|
|
18. https://adventofcode.com/2024/day/16/input
|