adventofcode/2024/day06/problem

171 lines
4.9 KiB
Plaintext
Raw Normal View History

2024-12-07 14:09:00 +00:00
[1]Advent of Code
• [2][About]
• [3][Events]
• [4][Shop]
• [5][Settings]
• [6][Log Out]
br0xen [7](AoC++) 10*
 {ʼyearʼ:[8]2024}
• [9][Calendar]
• [10][AoC++]
• [11][Sponsors]
• [12][Leaderboard]
• [13][Stats]
Our [14]sponsors help make Advent of Code possible:
[15]Jane Street - Weʼre a research-driven trading firm where curious
people work together to solve the puzzle of global markets. Will our next
great idea come from you? Our largest offices are in NYC, London, Hong
Kong, and Singapore.
--- Day 6: Guard Gallivant ---
The Historians use their fancy [16]device again, this time to whisk you
all away to the North Pole prototype suit manufacturing lab... in the year
[17]1518! It turns out that having direct access to history is very
convenient for a group of historians.
You still have to be careful of time paradoxes, and so it will be
important to avoid anyone from 1518 while The Historians search for the
Chief. Unfortunately, a single guard is patrolling this part of the lab.
Maybe you can work out where the guard will go ahead of time so that The
Historians can search safely?
You start by making a map (your puzzle input) of the situation. For
example:
....#.....
.........#
..........
..#.......
.......#..
..........
.#..^.....
........#.
#.........
......#...
The map shows the current position of the guard with ^ (to indicate the
guard is currently facing up from the perspective of the map). Any
obstructions - crates, desks, alchemical reactors, etc. - are shown as #.
Lab guards in 1518 follow a very strict patrol protocol which involves
repeatedly following these steps:
 If there is something directly in front of you, turn right 90 degrees.
 Otherwise, take a step forward.
Following the above protocol, the guard moves up several times until she
reaches an obstacle (in this case, a pile of failed suit prototypes):
....#.....
....^....#
..........
..#.......
.......#..
..........
.#........
........#.
#.........
......#...
Because there is now an obstacle in front of the guard, she turns right
before continuing straight in her new facing direction:
....#.....
........>#
..........
..#.......
.......#..
..........
.#........
........#.
#.........
......#...
Reaching another obstacle (a spool of several very long polymers), she
turns right again and continues downward:
....#.....
.........#
..........
..#.......
.......#..
..........
.#......v.
........#.
#.........
......#...
This process continues for a while, but the guard eventually leaves the
mapped area (after walking past a tank of universal solvent):
....#.....
.........#
..........
..#.......
.......#..
..........
.#........
........#.
#.........
......#v..
By predicting the guard's route, you can determine which specific
positions in the lab will be in the patrol path. Including the guard's
starting position, the positions visited by the guard before leaving the
area are marked with an X:
....#.....
....XXXXX#
....X...X.
..#.X...X.
..XXXXX#X.
..X.X.X.X.
.#XXXXXXX.
.XXXXXXX#.
#XXXXXXX..
......#X..
In this example, the guard will visit 41 distinct positions on your map.
Predict the path of the guard. How many distinct positions will the guard
visit before leaving the mapped area?
To begin, [18]get your puzzle input.
Answer: [19]_____________________ [20][ [Submit] ]
You can also [Shareon [21]Bluesky [22]Twitter [23]Mastodon] this puzzle.
References
Visible links
1. https://adventofcode.com/
2. https://adventofcode.com/2024/about
3. https://adventofcode.com/2024/events
4. https://cottonbureau.com/people/advent-of-code
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
11. https://adventofcode.com/2024/sponsors
12. https://adventofcode.com/2024/leaderboard
13. https://adventofcode.com/2024/stats
14. https://adventofcode.com/2024/sponsors
15. https://adventofcode.com/2024/sponsors/redirect?url=https%3A%2F%2Fwww%2Ejanestreet%2Ecom%2F
16. https://adventofcode.com/2024/day/4
17. https://adventofcode.com/2018/day/5
18. https://adventofcode.com/2024/day/6/input
21. https://bsky.app/intent/compose?text=%22Guard+Gallivant%22+%2D+Day+6+%2D+Advent+of+Code+2024+%23AdventOfCode+https%3A%2F%2Fadventofcode%2Ecom%2F2024%2Fday%2F6
22. https://twitter.com/intent/tweet?text=%22Guard+Gallivant%22+%2D+Day+6+%2D+Advent+of+Code+2024&url=https%3A%2F%2Fadventofcode%2Ecom%2F2024%2Fday%2F6&related=ericwastl&hashtags=AdventOfCode
23. javascript:void(0);