204 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			204 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|                                [1]Advent of Code
 | ||
| 
 | ||
|      • [2][About]
 | ||
|      • [3][Events]
 | ||
|      • [4][Shop]
 | ||
|      • [5][Settings]
 | ||
|      • [6][Log Out]
 | ||
| 
 | ||
|    br0xen [7](AoC++) 28*
 | ||
| 
 | ||
|                                   $year=[8]2023;
 | ||
| 
 | ||
|      • [9][Calendar]
 | ||
|      • [10][AoC++]
 | ||
|      • [11][Sponsors]
 | ||
|      • [12][Leaderboard]
 | ||
|      • [13][Stats]
 | ||
| 
 | ||
|    Our [14]sponsors help make Advent of Code possible:
 | ||
|    [15]Jane Street - Will our next great idea come from you? We hire smart,
 | ||
|    humble people who love to solve problems, build systems, and test
 | ||
|    theories. Our success is driven by our people and we never stop improving.
 | ||
| 
 | ||
| --- Day 14: Parabolic Reflector Dish ---
 | ||
| 
 | ||
|    You reach the place where all of the mirrors were pointing: a massive
 | ||
|    [16]parabolic reflector dish attached to the side of another large
 | ||
|    mountain.
 | ||
| 
 | ||
|    The dish is made up of many small mirrors, but while the mirrors
 | ||
|    themselves are roughly in the shape of a parabolic reflector dish, each
 | ||
|    individual mirror seems to be pointing in slightly the wrong direction. If
 | ||
|    the dish is meant to focus light, all it's doing right now is sending it
 | ||
|    in a vague direction.
 | ||
| 
 | ||
|    This system must be what provides the energy for the lava! If you focus
 | ||
|    the reflector dish, maybe you can go where it's pointing and use the light
 | ||
|    to fix the lava production.
 | ||
| 
 | ||
|    Upon closer inspection, the individual mirrors each appear to be connected
 | ||
|    via an elaborate system of ropes and pulleys to a large metal platform
 | ||
|    below the dish. The platform is covered in large rocks of various shapes.
 | ||
|    Depending on their position, the weight of the rocks deforms the platform,
 | ||
|    and the shape of the platform controls which ropes move and ultimately the
 | ||
|    focus of the dish.
 | ||
| 
 | ||
|    In short: if you move the rocks, you can focus the dish. The platform even
 | ||
|    has a control panel on the side that lets you tilt it in one of four
 | ||
|    directions! The rounded rocks (O) will roll when the platform is tilted,
 | ||
|    while the cube-shaped rocks (#) will stay in place. You note the positions
 | ||
|    of all of the empty spaces (.) and rocks (your puzzle input). For example:
 | ||
| 
 | ||
|  O....#....
 | ||
|  O.OO#....#
 | ||
|  .....##...
 | ||
|  OO.#O....O
 | ||
|  .O.....O#.
 | ||
|  O.#..O.#.#
 | ||
|  ..O..#O..O
 | ||
|  .......O..
 | ||
|  #....###..
 | ||
|  #OO..#....
 | ||
| 
 | ||
|    Start by tilting the lever so all of the rocks will slide north as far as
 | ||
|    they will go:
 | ||
| 
 | ||
|  OOOO.#.O..
 | ||
|  OO..#....#
 | ||
|  OO..O##..O
 | ||
|  O..#.OO...
 | ||
|  ........#.
 | ||
|  ..#....#.#
 | ||
|  ..O..#.O.O
 | ||
|  ..O.......
 | ||
|  #....###..
 | ||
|  #....#....
 | ||
| 
 | ||
|    You notice that the support beams along the north side of the platform are
 | ||
|    damaged; to ensure the platform doesn't collapse, you should calculate the
 | ||
|    total load on the north support beams.
 | ||
| 
 | ||
|    The amount of load caused by a single rounded rock (O) is equal to the
 | ||
|    number of rows from the rock to the south edge of the platform, including
 | ||
|    the row the rock is on. (Cube-shaped rocks (#) don't contribute to load.)
 | ||
|    So, the amount of load caused by each rock in each row is as follows:
 | ||
| 
 | ||
|  OOOO.#.O.. 10
 | ||
|  OO..#....#  9
 | ||
|  OO..O##..O  8
 | ||
|  O..#.OO...  7
 | ||
|  ........#.  6
 | ||
|  ..#....#.#  5
 | ||
|  ..O..#.O.O  4
 | ||
|  ..O.......  3
 | ||
|  #....###..  2
 | ||
|  #....#....  1
 | ||
| 
 | ||
|    The total load is the sum of the load caused by all of the rounded rocks.
 | ||
|    In this example, the total load is 136.
 | ||
| 
 | ||
|    Tilt the platform so that the rounded rocks all roll north. Afterward,
 | ||
|    what is the total load on the north support beams?
 | ||
| 
 | ||
|    Your puzzle answer was 108813.
 | ||
| 
 | ||
| --- Part Two ---
 | ||
| 
 | ||
|    The parabolic reflector dish deforms, but not in a way that focuses the
 | ||
|    beam. To do that, you'll need to move the rocks to the edges of the
 | ||
|    platform. Fortunately, a button on the side of the control panel labeled
 | ||
|    "spin cycle" attempts to do just that!
 | ||
| 
 | ||
|    Each cycle tilts the platform four times so that the rounded rocks roll
 | ||
|    north, then west, then south, then east. After each tilt, the rounded
 | ||
|    rocks roll as far as they can before the platform tilts in the next
 | ||
|    direction. After one cycle, the platform will have finished rolling the
 | ||
|    rounded rocks in those four directions in that order.
 | ||
| 
 | ||
|    Here's what happens in the example above after each of the first few
 | ||
|    cycles:
 | ||
| 
 | ||
|  After 1 cycle:
 | ||
|  .....#....
 | ||
|  ....#...O#
 | ||
|  ...OO##...
 | ||
|  .OO#......
 | ||
|  .....OOO#.
 | ||
|  .O#...O#.#
 | ||
|  ....O#....
 | ||
|  ......OOOO
 | ||
|  #...O###..
 | ||
|  #..OO#....
 | ||
| 
 | ||
|  After 2 cycles:
 | ||
|  .....#....
 | ||
|  ....#...O#
 | ||
|  .....##...
 | ||
|  ..O#......
 | ||
|  .....OOO#.
 | ||
|  .O#...O#.#
 | ||
|  ....O#...O
 | ||
|  .......OOO
 | ||
|  #..OO###..
 | ||
|  #.OOO#...O
 | ||
| 
 | ||
|  After 3 cycles:
 | ||
|  .....#....
 | ||
|  ....#...O#
 | ||
|  .....##...
 | ||
|  ..O#......
 | ||
|  .....OOO#.
 | ||
|  .O#...O#.#
 | ||
|  ....O#...O
 | ||
|  .......OOO
 | ||
|  #...O###.O
 | ||
|  #.OOO#...O
 | ||
| 
 | ||
|    This process should work if you leave it running long enough, but you're
 | ||
|    still worried about the north support beams. To make sure they'll survive
 | ||
|    for a while, you need to calculate the total load on the north support
 | ||
|    beams after 1000000000 cycles.
 | ||
| 
 | ||
|    In the above example, after 1000000000 cycles, the total load on the north
 | ||
|    support beams is 64.
 | ||
| 
 | ||
|    Run the spin cycle for 1000000000 cycles. Afterward, what is the total
 | ||
|    load on the north support beams?
 | ||
| 
 | ||
|    Your puzzle answer was 104533.
 | ||
| 
 | ||
|    Both parts of this puzzle are complete! They provide two gold stars: **
 | ||
| 
 | ||
|    At this point, you should [17]return to your Advent calendar and try
 | ||
|    another puzzle.
 | ||
| 
 | ||
|    If you still want to see it, you can [18]get your puzzle input.
 | ||
| 
 | ||
|    You can also [Shareon [19]Twitter [20]Mastodon] this puzzle.
 | ||
| 
 | ||
| References
 | ||
| 
 | ||
|    Visible links
 | ||
|    1. https://adventofcode.com/
 | ||
|    2. https://adventofcode.com/2023/about
 | ||
|    3. https://adventofcode.com/2023/events
 | ||
|    4. https://teespring.com/stores/advent-of-code
 | ||
|    5. https://adventofcode.com/2023/settings
 | ||
|    6. https://adventofcode.com/2023/auth/logout
 | ||
|    7. Advent of Code Supporter
 | ||
| 	https://adventofcode.com/2023/support
 | ||
|    8. https://adventofcode.com/2023
 | ||
|    9. https://adventofcode.com/2023
 | ||
|   10. https://adventofcode.com/2023/support
 | ||
|   11. https://adventofcode.com/2023/sponsors
 | ||
|   12. https://adventofcode.com/2023/leaderboard
 | ||
|   13. https://adventofcode.com/2023/stats
 | ||
|   14. https://adventofcode.com/2023/sponsors
 | ||
|   15. https://www.janestreet.com/
 | ||
|   16. https://en.wikipedia.org/wiki/Parabolic_reflector
 | ||
|   17. https://adventofcode.com/2023
 | ||
|   18. https://adventofcode.com/2023/day/14/input
 | ||
|   19. https://twitter.com/intent/tweet?text=I%27ve+completed+%22Parabolic+Reflector+Dish%22+%2D+Day+14+%2D+Advent+of+Code+2023&url=https%3A%2F%2Fadventofcode%2Ecom%2F2023%2Fday%2F14&related=ericwastl&hashtags=AdventOfCode
 | ||
|   20. javascript:void(0);
 |