157 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|                                        Advent of Code
 | ||
| 
 | ||
|      • [About]
 | ||
|      • [Events]
 | ||
|      • [Shop]
 | ||
|      • [Settings]
 | ||
|      • [Log Out]
 | ||
| 
 | ||
|    br0xen (AoC++) 36*
 | ||
| 
 | ||
|                                           var y=2022;
 | ||
| 
 | ||
|      • [Calendar]
 | ||
|      • [AoC++]
 | ||
|      • [Sponsors]
 | ||
|      • [Leaderboard]
 | ||
|      • [Stats]
 | ||
| 
 | ||
|    Our sponsors help make Advent of Code possible:
 | ||
|    Infi - De kerstman wil weer cadeaus bezorgen maar komt tot de ontdekking dat zijn
 | ||
|    Kerstman Positioning System (KPS) niet meer werkt. Kan jij hem helpen?
 | ||
| 
 | ||
| --- Day 22: Monkey Map ---
 | ||
| 
 | ||
|    The monkeys take you on a surprisingly easy trail through the jungle. They're even
 | ||
|    going in roughly the right direction according to your handheld device's Grove
 | ||
|    Positioning System.
 | ||
| 
 | ||
|    As you walk, the monkeys explain that the grove is protected by a force field. To pass
 | ||
|    through the force field, you have to enter a password; doing so involves tracing a
 | ||
|    specific path on a strangely-shaped board.
 | ||
| 
 | ||
|    At least, you're pretty sure that's what you have to do; the elephants aren't exactly
 | ||
|    fluent in monkey.
 | ||
| 
 | ||
|    The monkeys give you notes that they took when they last saw the password entered
 | ||
|    (your puzzle input).
 | ||
| 
 | ||
|    For example:
 | ||
| 
 | ||
|          ...#
 | ||
|          .#..
 | ||
|          #...
 | ||
|          ....
 | ||
|  ...#.......#
 | ||
|  ........#...
 | ||
|  ..#....#....
 | ||
|  ..........#.
 | ||
|          ...#....
 | ||
|          .....#..
 | ||
|          .#......
 | ||
|          ......#.
 | ||
| 
 | ||
|  10R5L5R10L4R5L5
 | ||
| 
 | ||
|    The first half of the monkeys' notes is a map of the board. It is comprised of a set
 | ||
|    of open tiles (on which you can move, drawn .) and solid walls (tiles which you cannot
 | ||
|    enter, drawn #).
 | ||
| 
 | ||
|    The second half is a description of the path you must follow. It consists of
 | ||
|    alternating numbers and letters:
 | ||
| 
 | ||
|      • A number indicates the number of tiles to move in the direction you are facing. If
 | ||
|        you run into a wall, you stop moving forward and continue with the next
 | ||
|        instruction.
 | ||
|      • A letter indicates whether to turn 90 degrees clockwise (R) or counterclockwise
 | ||
|        (L). Turning happens in-place; it does not change your current tile.
 | ||
| 
 | ||
|    So, a path like 10R5 means "go forward 10 tiles, then turn clockwise 90 degrees, then
 | ||
|    go forward 5 tiles".
 | ||
| 
 | ||
|    You begin the path in the leftmost open tile of the top row of tiles. Initially, you
 | ||
|    are facing to the right (from the perspective of how the map is drawn).
 | ||
| 
 | ||
|    If a movement instruction would take you off of the map, you wrap around to the other
 | ||
|    side of the board. In other words, if your next tile is off of the board, you should
 | ||
|    instead look in the direction opposite of your current facing as far as you can until
 | ||
|    you find the opposite edge of the board, then reappear there.
 | ||
| 
 | ||
|    For example, if you are at A and facing to the right, the tile in front of you is
 | ||
|    marked B; if you are at C and facing down, the tile in front of you is marked D:
 | ||
| 
 | ||
|          ...#
 | ||
|          .#..
 | ||
|          #...
 | ||
|          ....
 | ||
|  ...#.D.....#
 | ||
|  ........#...
 | ||
|  B.#....#...A
 | ||
|  .....C....#.
 | ||
|          ...#....
 | ||
|          .....#..
 | ||
|          .#......
 | ||
|          ......#.
 | ||
| 
 | ||
|    It is possible for the next tile (after wrapping around) to be a wall; this still
 | ||
|    counts as there being a wall in front of you, and so movement stops before you
 | ||
|    actually wrap to the other side of the board.
 | ||
| 
 | ||
|    By drawing the last facing you had with an arrow on each tile you visit, the full path
 | ||
|    taken by the above example looks like this:
 | ||
| 
 | ||
|          >>v#
 | ||
|          .#v.
 | ||
|          #.v.
 | ||
|          ..v.
 | ||
|  ...#...v..v#
 | ||
|  >>>v...>#.>>
 | ||
|  ..#v...#....
 | ||
|  ...>>>>v..#.
 | ||
|          ...#....
 | ||
|          .....#..
 | ||
|          .#......
 | ||
|          ......#.
 | ||
| 
 | ||
|    To finish providing the password to this strange input device, you need to determine
 | ||
|    numbers for your final row, column, and facing as your final position appears from the
 | ||
|    perspective of the original map. Rows start from 1 at the top and count downward;
 | ||
|    columns start from 1 at the left and count rightward. (In the above example, row 1,
 | ||
|    column 1 refers to the empty space with no tile on it in the top-left corner.) Facing
 | ||
|    is 0 for right (>), 1 for down (v), 2 for left (<), and 3 for up (^). The final
 | ||
|    password is the sum of 1000 times the row, 4 times the column, and the facing.
 | ||
| 
 | ||
|    In the above example, the final row is 6, the final column is 8, and the final facing
 | ||
|    is 0. So, the final password is 1000 * 6 + 4 * 8 + 0: 6032.
 | ||
| 
 | ||
|    Follow the path given in the monkeys' notes. What is the final password?
 | ||
| 
 | ||
|    To begin, get your puzzle input.
 | ||
| 
 | ||
|    Answer: _____________________ [ [Submit] ]
 | ||
| 
 | ||
|    You can also [Shareon Twitter Mastodon] this puzzle.
 | ||
| 
 | ||
| References
 | ||
| 
 | ||
|    Visible links
 | ||
|    . https://adventofcode.com/
 | ||
|    . https://adventofcode.com/2022/about
 | ||
|    . https://adventofcode.com/2022/events
 | ||
|    . https://teespring.com/stores/advent-of-code
 | ||
|    . https://adventofcode.com/2022/settings
 | ||
|    . https://adventofcode.com/2022/auth/logout
 | ||
|    . Advent of Code Supporter
 | ||
| 	https://adventofcode.com/2022/support
 | ||
|    . https://adventofcode.com/2022
 | ||
|    . https://adventofcode.com/2022
 | ||
|    . https://adventofcode.com/2022/support
 | ||
|    . https://adventofcode.com/2022/sponsors
 | ||
|    . https://adventofcode.com/2022/leaderboard
 | ||
|    . https://adventofcode.com/2022/stats
 | ||
|    . https://adventofcode.com/2022/sponsors
 | ||
|    . https://aoc.infi.nl/?mtm_campaign=aoc2022&mtm_source=aoc
 | ||
|    . https://adventofcode.com/2022/day/22/input
 | ||
|    . https://twitter.com/intent/tweet?text=%22Monkey+Map%22+%2D+Day+22+%2D+Advent+of+Code+2022&url=https%3A%2F%2Fadventofcode%2Ecom%2F2022%2Fday%2F22&related=ericwastl&hashtags=AdventOfCode
 | ||
|    . javascript:void(0);
 |