205 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			205 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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
 |