113 lines
4.8 KiB
Plaintext
113 lines
4.8 KiB
Plaintext
|
Advent of Code
|
|||
|
|
|||
|
--- Day 23: Experimental Emergency Teleportation ---
|
|||
|
|
|||
|
Using your torch to search the darkness of the rocky cavern, you finally
|
|||
|
locate the man's friend: a small reindeer.
|
|||
|
|
|||
|
You're not sure how it got so far in this cave. It looks sick - too sick to
|
|||
|
walk - and too heavy for you to carry all the way back. Sleighs won't be
|
|||
|
invented for another 1500 years, of course.
|
|||
|
|
|||
|
The only option is experimental emergency teleportation.
|
|||
|
|
|||
|
You hit the "experimental emergency teleportation" button on the device and
|
|||
|
push I accept the risk on no fewer than 18 different warning messages.
|
|||
|
Immediately, the device deploys hundreds of tiny nanobots which fly around
|
|||
|
the cavern, apparently assembling themselves into a very specific formation.
|
|||
|
The device lists the X,Y,Z position (pos) for each nanobot as well as its
|
|||
|
signal radius (r) on its tiny screen (your puzzle input).
|
|||
|
|
|||
|
Each nanobot can transmit signals to any integer coordinate which is a
|
|||
|
distance away from it less than or equal to its signal radius (as measured
|
|||
|
by Manhattan distance). Coordinates a distance away of less than or equal to
|
|||
|
a nanobot's signal radius are said to be in range of that nanobot.
|
|||
|
|
|||
|
Before you start the teleportation process, you should determine which
|
|||
|
nanobot is the strongest (that is, which has the largest signal radius) and
|
|||
|
then, for that nanobot, the total number of nanobots that are in range of
|
|||
|
it, including itself.
|
|||
|
|
|||
|
For example, given the following nanobots:
|
|||
|
|
|||
|
pos=<0,0,0>, r=4 pos=<1,0,0>, r=1 pos=<4,0,0>, r=3 pos=<0,2,0>, r=1
|
|||
|
pos=<0,5,0>, r=3 pos=<0,0,3>, r=1 pos=<1,1,1>, r=1 pos=<1,1,2>, r=1
|
|||
|
pos=<1,3,1>, r=1
|
|||
|
|
|||
|
The strongest nanobot is the first one (position 0,0,0) because its signal
|
|||
|
radius, 4 is the largest. Using that nanobot's location and signal radius,
|
|||
|
the following nanobots are in or out of range:
|
|||
|
|
|||
|
• The nanobot at 0,0,0 is distance 0 away, and so it is in range. • The
|
|||
|
nanobot at 1,0,0 is distance 1 away, and so it is in range. • The nanobot
|
|||
|
at 4,0,0 is distance 4 away, and so it is in range. • The nanobot at 0,2,0
|
|||
|
is distance 2 away, and so it is in range. • The nanobot at 0,5,0 is
|
|||
|
distance 5 away, and so it is not in range. • The nanobot at 0,0,3 is
|
|||
|
distance 3 away, and so it is in range. • The nanobot at 1,1,1 is distance
|
|||
|
3 away, and so it is in range. • The nanobot at 1,1,2 is distance 4 away,
|
|||
|
and so it is in range. • The nanobot at 1,3,1 is distance 5 away, and so
|
|||
|
it is not in range.
|
|||
|
|
|||
|
In this example, in total, 7 nanobots are in range of the nanobot with the
|
|||
|
largest signal radius.
|
|||
|
|
|||
|
Find the nanobot with the largest signal radius. How many nanobots are in
|
|||
|
range of its signals?
|
|||
|
|
|||
|
Your puzzle answer was 599.
|
|||
|
|
|||
|
--- Part Two ---
|
|||
|
|
|||
|
Now, you just need to figure out where to position yourself so that you're
|
|||
|
actually teleported when the nanobots activate.
|
|||
|
|
|||
|
To increase the probability of success, you need to find the coordinate
|
|||
|
which puts you in range of the largest number of nanobots. If there are
|
|||
|
multiple, choose one closest to your position (0,0,0, measured by manhattan
|
|||
|
distance).
|
|||
|
|
|||
|
For example, given the following nanobot formation:
|
|||
|
|
|||
|
pos=<10,12,12>, r=2 pos=<12,14,12>, r=2 pos=<16,12,12>, r=4 pos=<14,14,14>,
|
|||
|
r=6 pos=<50,50,50>, r=200 pos=<10,10,10>, r=5
|
|||
|
|
|||
|
Many coordinates are in range of some of the nanobots in this formation.
|
|||
|
However, only the coordinate 12,12,12 is in range of the most nanobots: it
|
|||
|
is in range of the first five, but is not in range of the nanobot at
|
|||
|
10,10,10. (All other coordinates are in range of fewer than five nanobots.)
|
|||
|
This coordinate's distance from 0,0,0 is 36.
|
|||
|
|
|||
|
Find the coordinates that are in range of the largest number of nanobots.
|
|||
|
What is the shortest manhattan distance between any of those points and
|
|||
|
0,0,0?
|
|||
|
|
|||
|
Your puzzle answer was 94481130.
|
|||
|
|
|||
|
Both parts of this puzzle are complete! They provide two gold stars: **
|
|||
|
|
|||
|
At this point, you should return to your Advent calendar and try another
|
|||
|
puzzle.
|
|||
|
|
|||
|
If you still want to see it, you can get your puzzle input.
|
|||
|
|
|||
|
References
|
|||
|
|
|||
|
Visible links
|
|||
|
. https://adventofcode.com/
|
|||
|
. https://adventofcode.com/2018/about
|
|||
|
. https://adventofcode.com/2018/events
|
|||
|
. https://adventofcode.com/2018/settings
|
|||
|
. https://adventofcode.com/2018/auth/logout
|
|||
|
. Advent of Code Supporter
|
|||
|
https://adventofcode.com/2018/support
|
|||
|
. https://adventofcode.com/2018
|
|||
|
. https://adventofcode.com/2018
|
|||
|
. https://adventofcode.com/2018/support
|
|||
|
. https://adventofcode.com/2018/sponsors
|
|||
|
. https://adventofcode.com/2018/leaderboard
|
|||
|
. https://adventofcode.com/2018/stats
|
|||
|
. https://adventofcode.com/2018/sponsors
|
|||
|
. https://en.wikipedia.org/wiki/Taxicab_geometry
|
|||
|
. https://adventofcode.com/2018
|
|||
|
. https://adventofcode.com/2018/day/23/input
|