diff options
| author | Louis Burda <quent.burda@gmail.com> | 2023-04-07 17:18:18 -0400 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2023-04-07 17:19:39 -0400 |
| commit | 87ab487d59fa85dbe2afa55cc841b02805ae42ca (patch) | |
| tree | cd90ab715e1b5b5803674045dbafd6d51d27ac90 /src/10/part2 | |
| parent | 1bcc82c5bfbde87edd03c01ffdf9ee5934681592 (diff) | |
| download | aoc2018-python-87ab487d59fa85dbe2afa55cc841b02805ae42ca.tar.gz aoc2018-python-87ab487d59fa85dbe2afa55cc841b02805ae42ca.zip | |
Reorder days into src
Diffstat (limited to 'src/10/part2')
| -rw-r--r-- | src/10/part2 | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/src/10/part2 b/src/10/part2 new file mode 100644 index 0000000..09dce44 --- /dev/null +++ b/src/10/part2 @@ -0,0 +1,92 @@ +--- Part Two --- + +Once you give them the coordinates, the Elves quickly deploy an Instant Monitoring Station to the +location and discover the worst: there are simply too many asteroids. + +The only solution is [1m[97mcomplete vaporization by giant laser[0m. + +Fortunately, in addition to an asteroid scanner, the new monitoring station also comes equipped with +a giant rotating laser perfect for vaporizing asteroids. The laser starts by pointing +[1m[97mup[0m and always rotates [1m[97mclockwise[0m, vaporizing any asteroid it hits. + +If multiple asteroids are [1m[97mexactly[0m in line with the station, the laser only has enough power to +vaporize [1m[97mone[0m of them before continuing its rotation. In other words, the same asteroids that can be +[1m[97mdetected[0m can be vaporized, but if vaporizing one asteroid makes another one detectable, the +newly-detected asteroid won't be vaporized until the laser has returned to the same position by +rotating a full 360 degrees. + +For example, consider the following map, where the asteroid with the new monitoring station (and +laser) is marked X: + +.#....#####...#.. +##...##.#####..## +##...#...#.#####. +..#.....X...###.. +..#.#.....#....## + +The first nine asteroids to get vaporized, in order, would be: + +.#....###[1m[97m2[0m[1m[97m4[0m...#.. +##...##.[1m[97m1[0m[1m[97m3[0m#[1m[97m6[0m[1m[97m7[0m..[1m[97m9[0m# +##...#...[1m[97m5[0m.[1m[97m8[0m####. +..#.....X...###.. +..#.#.....#....## + +Note that some asteroids (the ones behind the asteroids marked 1, 5, and 7) won't have a chance to +be vaporized until the next full rotation. The laser continues rotating; the next nine to be +vaporized are: + +.#....###.....#.. +##...##...#.....# +##...#......[1m[97m1[0m[1m[97m2[0m[1m[97m3[0m[1m[97m4[0m. +..#.....X...[1m[97m5[0m##.. +..#.[1m[97m9[0m.....[1m[97m8[0m....[1m[97m7[0m[1m[97m6[0m + +The next nine to be vaporized are then: + +.[1m[97m8[0m....###.....#.. +[1m[97m5[0m[1m[97m6[0m...[1m[97m9[0m#...#.....# +[1m[97m3[0m[1m[97m4[0m...[1m[97m7[0m........... +..[1m[97m2[0m.....X....##.. +..[1m[97m1[0m.............. + +Finally, the laser completes its first full rotation (1 through 3), a second rotation (4 through 8), +and vaporizes the last asteroid (9) partway through its third rotation: + +......[1m[97m2[0m[1m[97m3[0m[1m[97m4[0m.....[1m[97m6[0m.. +......[1m[97m1[0m...[1m[97m5[0m.....[1m[97m7[0m +................. +........X....[1m[97m8[0m[1m[97m9[0m.. +................. + +In the large example above (the one with the best monitoring station location at 11,13): + + + - The 1st asteroid to be vaporized is at 11,12. + + - The 2nd asteroid to be vaporized is at 12,1. + + - The 3rd asteroid to be vaporized is at 12,2. + + - The 10th asteroid to be vaporized is at 12,8. + + - The 20th asteroid to be vaporized is at 16,0. + + - The 50th asteroid to be vaporized is at 16,9. + + - The 100th asteroid to be vaporized is at 10,16. + + - The 199th asteroid to be vaporized is at 9,6. + + - [1m[97mThe 200th asteroid to be vaporized is at 8,2.[0m + + - The 201st asteroid to be vaporized is at 10,9. + + - The 299th and final asteroid to be vaporized is at 11,1. + + +The Elves are placing bets on which will be the [1m[97m200th[0m asteroid to be vaporized. Win the bet by +determining which asteroid that will be; [1m[97mwhat do you get if you multiply its X coordinate by 100 and +then add its Y coordinate?[0m (For example, 8,2 becomes [1m[97m802[0m.) + + |
