Added/updated problems
This commit is contained in:
@@ -1 +1,3 @@
|
||||
module day10
|
||||
|
||||
go 1.13
|
||||
|
204
2018/day10/problem
Normal file
204
2018/day10/problem
Normal file
@@ -0,0 +1,204 @@
|
||||
Advent of Code
|
||||
|
||||
--- Day 10: The Stars Align ---
|
||||
|
||||
It's no use; your navigation system simply isn't capable of providing
|
||||
walking directions in the arctic circle, and certainly not in 1018.
|
||||
|
||||
The Elves suggest an alternative. In times like these, North Pole rescue
|
||||
operations will arrange points of light in the sky to guide missing Elves
|
||||
back to base. Unfortunately, the message is easy to miss: the points move
|
||||
slowly enough that it takes hours to align them, but have so much momentum
|
||||
that they only stay aligned for a second. If you blink at the wrong time, it
|
||||
might be hours before another message appears.
|
||||
|
||||
You can see these points of light floating in the distance, and record their
|
||||
position in the sky and their velocity, the relative change in position per
|
||||
second (your puzzle input). The coordinates are all given from your
|
||||
perspective; given enough time, those positions and velocities will move the
|
||||
points into a cohesive message!
|
||||
|
||||
Rather than wait, you decide to fast-forward the process and calculate what
|
||||
the points will eventually spell.
|
||||
|
||||
For example, suppose you note the following points:
|
||||
|
||||
position=< 9, 1> velocity=< 0, 2>
|
||||
position=< 7, 0> velocity=<-1, 0>
|
||||
position=< 3, -2> velocity=<-1, 1>
|
||||
position=< 6, 10> velocity=<-2, -1>
|
||||
position=< 2, -4> velocity=< 2, 2>
|
||||
position=<-6, 10> velocity=< 2, -2>
|
||||
position=< 1, 8> velocity=< 1, -1>
|
||||
position=< 1, 7> velocity=< 1, 0>
|
||||
position=<-3, 11> velocity=< 1, -2>
|
||||
position=< 7, 6> velocity=<-1, -1>
|
||||
position=<-2, 3> velocity=< 1, 0>
|
||||
position=<-4, 3> velocity=< 2, 0>
|
||||
position=<10, -3> velocity=<-1, 1>
|
||||
position=< 5, 11> velocity=< 1, -2>
|
||||
position=< 4, 7> velocity=< 0, -1>
|
||||
position=< 8, -2> velocity=< 0, 1>
|
||||
position=<15, 0> velocity=<-2, 0>
|
||||
position=< 1, 6> velocity=< 1, 0>
|
||||
position=< 8, 9> velocity=< 0, -1>
|
||||
position=< 3, 3> velocity=<-1, 1>
|
||||
position=< 0, 5> velocity=< 0, -1>
|
||||
position=<-2, 2> velocity=< 2, 0>
|
||||
position=< 5, -2> velocity=< 1, 2>
|
||||
position=< 1, 4> velocity=< 2, 1>
|
||||
position=<-2, 7> velocity=< 2, -2>
|
||||
position=< 3, 6> velocity=<-1, -1>
|
||||
position=< 5, 0> velocity=< 1, 0>
|
||||
position=<-6, 0> velocity=< 2, 0>
|
||||
position=< 5, 9> velocity=< 1, -2>
|
||||
position=<14, 7> velocity=<-2, 0>
|
||||
position=<-3, 6> velocity=< 2, -1>
|
||||
|
||||
Each line represents one point. Positions are given as <X, Y> pairs: X
|
||||
represents how far left (negative) or right (positive) the point appears,
|
||||
while Y represents how far up (negative) or down (positive) the point
|
||||
appears.
|
||||
|
||||
At 0 seconds, each point has the position given. Each second, each point's
|
||||
velocity is added to its position. So, a point with velocity <1, -2> is
|
||||
moving to the right, but is moving upward twice as quickly. If this point's
|
||||
initial position were <3, 9>, after 3 seconds, its position would become <6,
|
||||
3>.
|
||||
|
||||
Over time, the points listed above would move like this:
|
||||
|
||||
Initially:
|
||||
........#.............
|
||||
................#.....
|
||||
.........#.#..#.......
|
||||
......................
|
||||
#..........#.#.......#
|
||||
...............#......
|
||||
....#.................
|
||||
..#.#....#............
|
||||
.......#..............
|
||||
......#...............
|
||||
...#...#.#...#........
|
||||
....#..#..#.........#.
|
||||
.......#..............
|
||||
...........#..#.......
|
||||
#...........#.........
|
||||
...#.......#..........
|
||||
|
||||
After 1 second:
|
||||
......................
|
||||
......................
|
||||
..........#....#......
|
||||
........#.....#.......
|
||||
..#.........#......#..
|
||||
......................
|
||||
......#...............
|
||||
....##.........#......
|
||||
......#.#.............
|
||||
.....##.##..#.........
|
||||
........#.#...........
|
||||
........#...#.....#...
|
||||
..#...........#.......
|
||||
....#.....#.#.........
|
||||
......................
|
||||
......................
|
||||
|
||||
After 2 seconds:
|
||||
......................
|
||||
......................
|
||||
......................
|
||||
..............#.......
|
||||
....#..#...####..#....
|
||||
......................
|
||||
........#....#........
|
||||
......#.#.............
|
||||
.......#...#..........
|
||||
.......#..#..#.#......
|
||||
....#....#.#..........
|
||||
.....#...#...##.#.....
|
||||
........#.............
|
||||
......................
|
||||
......................
|
||||
......................
|
||||
|
||||
After 3 seconds:
|
||||
......................
|
||||
......................
|
||||
......................
|
||||
......................
|
||||
......#...#..###......
|
||||
......#...#...#.......
|
||||
......#...#...#.......
|
||||
......#####...#.......
|
||||
......#...#...#.......
|
||||
......#...#...#.......
|
||||
......#...#...#.......
|
||||
......#...#..###......
|
||||
......................
|
||||
......................
|
||||
......................
|
||||
......................
|
||||
|
||||
After 4 seconds:
|
||||
......................
|
||||
......................
|
||||
......................
|
||||
............#.........
|
||||
........##...#.#......
|
||||
......#.....#..#......
|
||||
.....#..##.##.#.......
|
||||
.......##.#....#......
|
||||
...........#....#.....
|
||||
..............#.......
|
||||
....#......#...#......
|
||||
.....#.....##.........
|
||||
...............#......
|
||||
...............#......
|
||||
......................
|
||||
......................
|
||||
|
||||
After 3 seconds, the message appeared briefly: HI. Of course, your message
|
||||
will be much longer and will take many more seconds to appear.
|
||||
|
||||
What message will eventually appear in the sky?
|
||||
|
||||
Your puzzle answer was RECLRNZE.
|
||||
|
||||
--- Part Two ---
|
||||
|
||||
Good thing you didn't have to wait, because that would have taken a long
|
||||
time - much longer than the 3 seconds in the example above.
|
||||
|
||||
Impressed by your sub-hour communication capabilities, the Elves are
|
||||
curious: exactly how many seconds would they have needed to wait for that
|
||||
message to appear?
|
||||
|
||||
Your puzzle answer was 10007.
|
||||
|
||||
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://adventofcode.com/2018
|
||||
. https://adventofcode.com/2018/day/10/input
|
Reference in New Issue
Block a user