187 lines
5.1 KiB
Plaintext
187 lines
5.1 KiB
Plaintext
|
Advent of Code
|
||
|
|
||
|
--- Day 8: Resonant Collinearity ---
|
||
|
|
||
|
You find yourselves on the [16]roof of a top-secret Easter Bunny
|
||
|
installation.
|
||
|
|
||
|
While The Historians do their thing, you take a look at the familiar huge
|
||
|
antenna. Much to your surprise, it seems to have been reconfigured to emit
|
||
|
a signal that makes people 0.1% more likely to buy Easter Bunny brand
|
||
|
Imitation Mediocre Chocolate as a Christmas gift! Unthinkable!
|
||
|
|
||
|
Scanning across the city, you find that there are actually many such
|
||
|
antennas. Each antenna is tuned to a specific frequency indicated by a
|
||
|
single lowercase letter, uppercase letter, or digit. You create a map
|
||
|
(your puzzle input) of these antennas. For example:
|
||
|
|
||
|
............
|
||
|
........0...
|
||
|
.....0......
|
||
|
.......0....
|
||
|
....0.......
|
||
|
......A.....
|
||
|
............
|
||
|
............
|
||
|
........A...
|
||
|
.........A..
|
||
|
............
|
||
|
............
|
||
|
|
||
|
The signal only applies its nefarious effect at specific antinodes based
|
||
|
on the resonant frequencies of the antennas. In particular, an antinode
|
||
|
occurs at any point that is perfectly in line with two antennas of the
|
||
|
same frequency - but only when one of the antennas is twice as far away as
|
||
|
the other. This means that for any pair of antennas with the same
|
||
|
frequency, there are two antinodes, one on either side of them.
|
||
|
|
||
|
So, for these two antennas with frequency a, they create the two antinodes
|
||
|
marked with #:
|
||
|
|
||
|
..........
|
||
|
...#......
|
||
|
..........
|
||
|
....a.....
|
||
|
..........
|
||
|
.....a....
|
||
|
..........
|
||
|
......#...
|
||
|
..........
|
||
|
..........
|
||
|
|
||
|
Adding a third antenna with the same frequency creates several more
|
||
|
antinodes. It would ideally add four antinodes, but two are off the right
|
||
|
side of the map, so instead it adds only two:
|
||
|
|
||
|
..........
|
||
|
...#......
|
||
|
#.........
|
||
|
....a.....
|
||
|
........a.
|
||
|
.....a....
|
||
|
..#.......
|
||
|
......#...
|
||
|
..........
|
||
|
..........
|
||
|
|
||
|
Antennas with different frequencies don't create antinodes; A and a count
|
||
|
as different frequencies. However, antinodes can occur at locations that
|
||
|
contain antennas. In this diagram, the lone antenna with frequency capital
|
||
|
A creates no antinodes but has a lowercase-a-frequency antinode at its
|
||
|
location:
|
||
|
|
||
|
..........
|
||
|
...#......
|
||
|
#.........
|
||
|
....a.....
|
||
|
........a.
|
||
|
.....a....
|
||
|
..#.......
|
||
|
......A...
|
||
|
..........
|
||
|
..........
|
||
|
|
||
|
The first example has antennas with two different frequencies, so the
|
||
|
antinodes they create look like this, plus an antinode overlapping the
|
||
|
topmost A-frequency antenna:
|
||
|
|
||
|
......#....#
|
||
|
...#....0...
|
||
|
....#0....#.
|
||
|
..#....0....
|
||
|
....0....#..
|
||
|
.#....A.....
|
||
|
...#........
|
||
|
#......#....
|
||
|
........A...
|
||
|
.........A..
|
||
|
..........#.
|
||
|
..........#.
|
||
|
|
||
|
Because the topmost A-frequency antenna overlaps with a 0-frequency
|
||
|
antinode, there are 14 total unique locations that contain an antinode
|
||
|
within the bounds of the map.
|
||
|
|
||
|
Calculate the impact of the signal. How many unique locations within the
|
||
|
bounds of the map contain an antinode?
|
||
|
|
||
|
Your puzzle answer was 311.
|
||
|
|
||
|
--- Part Two ---
|
||
|
|
||
|
Watching over your shoulder as you work, one of The Historians asks if you
|
||
|
took the effects of resonant harmonics into your calculations.
|
||
|
|
||
|
Whoops!
|
||
|
|
||
|
After updating your model, it turns out that an antinode occurs at any
|
||
|
grid position exactly in line with at least two antennas of the same
|
||
|
frequency, regardless of distance. This means that some of the new
|
||
|
antinodes will occur at the position of each antenna (unless that antenna
|
||
|
is the only one of its frequency).
|
||
|
|
||
|
So, these three T-frequency antennas now create many antinodes:
|
||
|
|
||
|
T....#....
|
||
|
...T......
|
||
|
.T....#...
|
||
|
.........#
|
||
|
..#.......
|
||
|
..........
|
||
|
...#......
|
||
|
..........
|
||
|
....#.....
|
||
|
..........
|
||
|
|
||
|
In fact, the three T-frequency antennas are all exactly in line with two
|
||
|
antennas, so they are all also antinodes! This brings the total number of
|
||
|
antinodes in the above example to 9.
|
||
|
|
||
|
The original example now has 34 antinodes, including the antinodes that
|
||
|
appear on every antenna:
|
||
|
|
||
|
##....#....#
|
||
|
.#.#....0...
|
||
|
..#.#0....#.
|
||
|
..##...0....
|
||
|
....0....#..
|
||
|
.#...#A....#
|
||
|
...#..#.....
|
||
|
#....#.#....
|
||
|
..#.....A...
|
||
|
....#....A..
|
||
|
.#........#.
|
||
|
...#......##
|
||
|
|
||
|
Calculate the impact of the signal using this updated model. How many
|
||
|
unique locations within the bounds of the map contain an antinode?
|
||
|
|
||
|
Your puzzle answer was 1115.
|
||
|
|
||
|
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
|
||
|
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
|
||
|
12. https://adventofcode.com/2024/leaderboard
|
||
|
13. https://adventofcode.com/2024/stats
|
||
|
16. https://adventofcode.com/2016/day/25
|
||
|
17. https://adventofcode.com/2024
|
||
|
18. https://adventofcode.com/2024/day/8/input
|