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
 |