Reflowed problems and added solutions
This commit is contained in:
@@ -1,38 +1,33 @@
|
||||
Advent of Code
|
||||
|
||||
br0xen 46*
|
||||
|
||||
• [About]
|
||||
• [Stats]
|
||||
• [Leaderboard]
|
||||
• [Settings]
|
||||
• [Log out]
|
||||
Advent of Code
|
||||
|
||||
--- Day 25: Let It Snow ---
|
||||
|
||||
Merry Christmas! Santa is booting up his weather machine; looks like you might get a white
|
||||
Christmas after all.
|
||||
Merry Christmas! Santa is booting up his weather machine; looks like you
|
||||
might get a white Christmas after all.
|
||||
|
||||
The weather machine beeps! On the console of the machine is a copy protection message asking
|
||||
you to enter a code from the instruction manual. Apparently, it refuses to run unless you give
|
||||
it that code. No problem; you'll just look up the code in the--
|
||||
The weather machine beeps! On the console of the machine is a copy
|
||||
protection message asking you to enter a code from the instruction manual.
|
||||
Apparently, it refuses to run unless you give it that code. No problem;
|
||||
you'll just look up the code in the--
|
||||
|
||||
"Ho ho ho", Santa ponders aloud. "I can't seem to find the manual."
|
||||
|
||||
You look up the support number for the manufacturer and give them a call. Good thing, too -
|
||||
that 49th star wasn't going to earn itself.
|
||||
You look up the support number for the manufacturer and give them a call.
|
||||
Good thing, too - that 49th star wasn't going to earn itself.
|
||||
|
||||
"Oh, that machine is quite old!", they tell you. "That model went out of support six minutes
|
||||
ago, and we just finished shredding all of the manuals. I bet we can find you the code
|
||||
generation algorithm, though."
|
||||
"Oh, that machine is quite old!", they tell you. "That model went out of
|
||||
support six minutes ago, and we just finished shredding all of the manuals.
|
||||
I bet we can find you the code generation algorithm, though."
|
||||
|
||||
After putting you on hold for twenty minutes (your call is very important to them, it reminded
|
||||
you repeatedly), they finally find an engineer that remembers how the code system works.
|
||||
After putting you on hold for twenty minutes (your call is very important to
|
||||
them, it reminded you repeatedly), they finally find an engineer that
|
||||
remembers how the code system works.
|
||||
|
||||
The codes are printed on an infinite sheet of paper, starting in the top-left corner. The
|
||||
codes are filled in by diagonals: starting with the first row with an empty first box, the
|
||||
codes are filled in diagonally up and to the right. This process repeats until the infinite
|
||||
paper is covered. So, the first few codes are filled in in this order:
|
||||
The codes are printed on an infinite sheet of paper, starting in the
|
||||
top-left corner. The codes are filled in by diagonals: starting with the
|
||||
first row with an empty first box, the codes are filled in diagonally up and
|
||||
to the right. This process repeats until the infinite paper is covered. So,
|
||||
the first few codes are filled in in this order:
|
||||
|
||||
| 1 2 3 4 5 6
|
||||
---+---+---+---+---+---+---+
|
||||
@@ -43,19 +38,21 @@
|
||||
5 | 11 17
|
||||
6 | 16
|
||||
|
||||
For example, the 12th code would be written to row 4, column 2; the 15th code would be written
|
||||
to row 1, column 5.
|
||||
For example, the 12th code would be written to row 4, column 2; the 15th
|
||||
code would be written to row 1, column 5.
|
||||
|
||||
The voice on the other end of the phone continues with how the codes are actually generated.
|
||||
The first code is 20151125. After that, each code is generated by taking the previous one,
|
||||
multiplying it by 252533, and then keeping the remainder from dividing that value by 33554393.
|
||||
The voice on the other end of the phone continues with how the codes are
|
||||
actually generated. The first code is 20151125. After that, each code is
|
||||
generated by taking the previous one, multiplying it by 252533, and then
|
||||
keeping the remainder from dividing that value by 33554393.
|
||||
|
||||
So, to find the second code (which ends up in row 2, column 1), start with the previous value,
|
||||
20151125. Multiply it by 252533 to get 5088824049625. Then, divide that by 33554393, which
|
||||
leaves a remainder of 31916031. That remainder is the second code.
|
||||
So, to find the second code (which ends up in row 2, column 1), start with
|
||||
the previous value, 20151125. Multiply it by 252533 to get 5088824049625.
|
||||
Then, divide that by 33554393, which leaves a remainder of 31916031. That
|
||||
remainder is the second code.
|
||||
|
||||
"Oh!", says the voice. "It looks like we missed a scrap from one of the manuals. Let me read
|
||||
it to you." You write down his numbers:
|
||||
"Oh!", says the voice. "It looks like we missed a scrap from one of the
|
||||
manuals. Let me read it to you." You write down his numbers:
|
||||
|
||||
| 1 2 3 4 5 6
|
||||
---+---------+---------+---------+---------+---------+---------+
|
||||
@@ -66,12 +63,13 @@
|
||||
5 | 77061 17552253 28094349 6899651 9250759 31663883
|
||||
6 | 33071741 6796745 25397450 24659492 1534922 27995004
|
||||
|
||||
"Now remember", the voice continues, "that's not even all of the first few numbers; for
|
||||
example, you're missing the one at 7,1 that would come before 6,2. But, it should be enough to
|
||||
let your-- oh, it's time for lunch! Bye!" The call disconnects.
|
||||
"Now remember", the voice continues, "that's not even all of the first few
|
||||
numbers; for example, you're missing the one at 7,1 that would come before
|
||||
6,2. But, it should be enough to let your-- oh, it's time for lunch! Bye!"
|
||||
The call disconnects.
|
||||
|
||||
Santa looks nervous. Your puzzle input contains the message on the machine's console. What
|
||||
code do you give the machine?
|
||||
Santa looks nervous. Your puzzle input contains the message on the machine's
|
||||
console. What code do you give the machine?
|
||||
|
||||
Your puzzle answer was 19980801.
|
||||
|
||||
@@ -79,16 +77,16 @@
|
||||
|
||||
--- Part Two ---
|
||||
|
||||
The machine springs to life, then falls silent again. It beeps. "Insufficient fuel", the
|
||||
console reads. "Fifty stars are required before proceeding. One star is available."
|
||||
The machine springs to life, then falls silent again. It beeps.
|
||||
"Insufficient fuel", the console reads. "Fifty stars are required before
|
||||
proceeding. One star is available."
|
||||
|
||||
..."one star is available"? You check the fuel tank; sure enough, a lone star sits at the
|
||||
bottom, awaiting its friends. Looks like you need to provide 49 yourself.
|
||||
..."one star is available"? You check the fuel tank; sure enough, a lone
|
||||
star sits at the bottom, awaiting its friends. Looks like you need to
|
||||
provide 49 yourself.
|
||||
|
||||
You don't have enough stars to start the machine, though. You need x more.
|
||||
|
||||
You can also [Shareon Twitter Google+ Reddit] this puzzle.
|
||||
|
||||
References
|
||||
|
||||
Visible links
|
||||
@@ -101,6 +99,3 @@ References
|
||||
. http://adventofcode.com/day/1
|
||||
. https://en.wikipedia.org/wiki/Copy_protection#Early_video_games
|
||||
. https://en.wikipedia.org/wiki/Cantor's_diagonal_argument
|
||||
. https://twitter.com/intent/tweet?text=I%27ve+completed+Part+One+of+%22Let+It+Snow%22+%2D+Day+25+%2D+Advent+of+Code&url=http%3A%2F%2Fadventofcode%2Ecom%2Fday%2F25&related=ericwastl&hashtags=AdventOfCode
|
||||
. https://plus.google.com/share?url=http%3A%2F%2Fadventofcode%2Ecom%2Fday%2F25
|
||||
. http://www.reddit.com/submit?url=http%3A%2F%2Fadventofcode%2Ecom%2Fday%2F25&title=I%27ve+completed+Part+One+of+%22Let+It+Snow%22+%2D+Day+25+%2D+Advent+of+Code
|
||||
|
Reference in New Issue
Block a user