2018-12-06 17:22:55 +00:00
|
|
|
|
Advent of Code
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2018-12-06 17:22:55 +00:00
|
|
|
|
--- Day 1: Chronal Calibration ---
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2019-11-08 21:01:07 +00:00
|
|
|
|
"We've detected some temporal anomalies," one of Santa's Elves at the
|
|
|
|
|
Temporal Anomaly Research and Detection Instrument Station tells you. She
|
|
|
|
|
sounded pretty worried when she called you down here. "At 500-year intervals
|
|
|
|
|
into the past, someone has been changing Santa's history!"
|
|
|
|
|
|
|
|
|
|
"The good news is that the changes won't propagate to our time stream for
|
|
|
|
|
another 25 days, and we have a device" - she attaches something to your
|
|
|
|
|
wrist - "that will let you fix the changes with no such propagation delay.
|
|
|
|
|
It's configured to send you 500 years further into the past every few days;
|
|
|
|
|
that was the best we could do on such short notice."
|
|
|
|
|
|
|
|
|
|
"The bad news is that we are detecting roughly fifty anomalies throughout
|
|
|
|
|
time; the device will indicate fixed anomalies with stars. The other bad
|
|
|
|
|
news is that we only have one device and you're the best person for the job!
|
|
|
|
|
Good lu--" She taps a button on the device and you suddenly feel like you're
|
|
|
|
|
falling. To save Christmas, you need to get all fifty stars by December
|
|
|
|
|
25th.
|
|
|
|
|
|
|
|
|
|
Collect stars by solving puzzles. Two puzzles will be made available on each
|
|
|
|
|
day in the advent calendar; the second puzzle is unlocked when you complete
|
|
|
|
|
the first. Each puzzle grants one star. Good luck!
|
|
|
|
|
|
|
|
|
|
After feeling like you've been falling for a few minutes, you look at the
|
|
|
|
|
device's tiny screen. "Error: Device must be calibrated before first use.
|
|
|
|
|
Frequency drift detected. Cannot maintain destination lock." Below the
|
|
|
|
|
message, the device shows a sequence of changes in frequency (your puzzle
|
|
|
|
|
input). A value like +6 means the current frequency increases by 6; a value
|
|
|
|
|
like -3 means the current frequency decreases by 3.
|
|
|
|
|
|
|
|
|
|
For example, if the device displays frequency changes of +1, -2, +3, +1,
|
|
|
|
|
then starting from a frequency of zero, the following changes would occur:
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2018-12-06 17:22:55 +00:00
|
|
|
|
• Current frequency 0, change of +1; resulting frequency 1.
|
|
|
|
|
• Current frequency 1, change of -2; resulting frequency -1.
|
|
|
|
|
• Current frequency -1, change of +3; resulting frequency 2.
|
|
|
|
|
• Current frequency 2, change of +1; resulting frequency 3.
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2018-12-06 17:22:55 +00:00
|
|
|
|
In this example, the resulting frequency is 3.
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2018-12-06 17:22:55 +00:00
|
|
|
|
Here are other example situations:
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2018-12-06 17:22:55 +00:00
|
|
|
|
• +1, +1, +1 results in 3
|
|
|
|
|
• +1, +1, -2 results in 0
|
|
|
|
|
• -1, -2, -3 results in -6
|
|
|
|
|
|
2019-11-08 21:01:07 +00:00
|
|
|
|
Starting with a frequency of zero, what is the resulting frequency after all
|
|
|
|
|
of the changes in frequency have been applied?
|
2018-12-06 17:22:55 +00:00
|
|
|
|
|
|
|
|
|
Your puzzle answer was 553.
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
|
|
|
|
--- Part Two ---
|
|
|
|
|
|
2019-11-08 21:01:07 +00:00
|
|
|
|
You notice that the device repeats the same frequency change list over and
|
|
|
|
|
over. To calibrate the device, you need to find the first frequency it
|
|
|
|
|
reaches twice.
|
2018-12-06 17:22:55 +00:00
|
|
|
|
|
2019-11-08 21:01:07 +00:00
|
|
|
|
For example, using the same list of changes above, the device would loop as
|
|
|
|
|
follows:
|
2018-12-06 17:22:55 +00:00
|
|
|
|
|
|
|
|
|
• Current frequency 0, change of +1; resulting frequency 1.
|
|
|
|
|
• Current frequency 1, change of -2; resulting frequency -1.
|
|
|
|
|
• Current frequency -1, change of +3; resulting frequency 2.
|
|
|
|
|
• Current frequency 2, change of +1; resulting frequency 3.
|
|
|
|
|
• (At this point, the device continues from the start of the list.)
|
|
|
|
|
• Current frequency 3, change of +1; resulting frequency 4.
|
2019-11-08 21:01:07 +00:00
|
|
|
|
• Current frequency 4, change of -2; resulting frequency 2, which has
|
|
|
|
|
already been seen.
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2019-11-08 21:01:07 +00:00
|
|
|
|
In this example, the first frequency reached twice is 2. Note that your
|
|
|
|
|
device might need to repeat its list of frequency changes many times before
|
|
|
|
|
a duplicate frequency is found, and that duplicates might be found while in
|
|
|
|
|
the middle of processing the list.
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2018-12-06 17:22:55 +00:00
|
|
|
|
Here are other examples:
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2018-12-06 17:22:55 +00:00
|
|
|
|
• +1, -1 first reaches 0 twice.
|
|
|
|
|
• +3, +3, +4, -2, -4 first reaches 10 twice.
|
|
|
|
|
• -6, +3, +8, +5, -6 first reaches 5 twice.
|
|
|
|
|
• +7, +7, -2, -7, -4 first reaches 14 twice.
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2018-12-06 17:22:55 +00:00
|
|
|
|
What is the first frequency your device reaches twice?
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2018-12-06 17:22:55 +00:00
|
|
|
|
Your puzzle answer was 78724.
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2018-12-06 17:22:55 +00:00
|
|
|
|
Both parts of this puzzle are complete! They provide two gold stars: **
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2018-12-06 17:22:55 +00:00
|
|
|
|
References
|
2018-12-01 23:18:31 +00:00
|
|
|
|
|
2018-12-06 17:22:55 +00:00
|
|
|
|
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://adventofcode.com/2018
|
|
|
|
|
. https://adventofcode.com/2018/day/1/input
|