142 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Advent of Code
 | ||
| 
 | ||
| --- Day 12: Subterranean Sustainability ---
 | ||
| 
 | ||
|    The year 518 is significantly more underground than your history books
 | ||
|    implied. Either that, or you've arrived in a vast cavern network under the
 | ||
|    North Pole.
 | ||
| 
 | ||
|    After exploring a little, you discover a long tunnel that contains a row of
 | ||
|    small pots as far as you can see to your left and right. A few of them
 | ||
|    contain plants - someone is trying to grow things in these
 | ||
|    geothermally-heated caves.
 | ||
| 
 | ||
|    The pots are numbered, with 0 in front of you. To the left, the pots are
 | ||
|    numbered -1, -2, -3, and so on; to the right, 1, 2, 3.... Your puzzle input
 | ||
|    contains a list of pots from 0 to the right and whether they do (#) or do
 | ||
|    not (.) currently contain a plant, the initial state. (No other pots
 | ||
|    currently contain plants.) For example, an initial state of #..##....
 | ||
|    indicates that pots 0, 3, and 4 currently contain plants.
 | ||
| 
 | ||
|    Your puzzle input also contains some notes you find on a nearby table:
 | ||
|    someone has been trying to figure out how these plants spread to nearby
 | ||
|    pots. Based on the notes, for each generation of plants, a given pot has or
 | ||
|    does not have a plant based on whether that pot (and the two pots on either
 | ||
|    side of it) had a plant in the last generation. These are written as LLCRR
 | ||
|    => N, where L are pots to the left, C is the current pot being considered, R
 | ||
|    are the pots to the right, and N is whether the current pot will have a
 | ||
|    plant in the next generation. For example:
 | ||
| 
 | ||
|      • A note like ..#.. => . means that a pot that contains a plant but with
 | ||
|      no plants within two pots of it will not have a plant in it during the
 | ||
|      next generation. • A note like ##.## => . means that an empty pot with two
 | ||
|      plants on each side of it will remain empty in the next generation. • A
 | ||
|      note like .##.# => # means that a pot has a plant in a given generation
 | ||
|      if, in the previous generation, there were plants in that pot, the one
 | ||
|      immediately to the left, and the one two pots to the right, but not in the
 | ||
|      ones immediately to the right and two to the left.
 | ||
| 
 | ||
|    It's not clear what these plants are for, but you're sure it's important, so
 | ||
|    you'd like to make sure the current configuration of plants is sustainable
 | ||
|    by determining what will happen after 20 generations.
 | ||
| 
 | ||
|    For example, given the following input:
 | ||
| 
 | ||
|  initial state: #..#.#..##......###...###
 | ||
| 
 | ||
|  ...## => #
 | ||
|  ..#.. => #
 | ||
|  .#... => #
 | ||
|  .#.#. => #
 | ||
|  .#.## => #
 | ||
|  .##.. => #
 | ||
|  .#### => #
 | ||
|  #.#.# => #
 | ||
|  #.### => #
 | ||
|  ##.#. => #
 | ||
|  ##.## => #
 | ||
|  ###.. => #
 | ||
|  ###.# => #
 | ||
|  ####. => #
 | ||
| 
 | ||
|    For brevity, in this example, only the combinations which do produce a plant
 | ||
|    are listed. (Your input includes all possible combinations.) Then, the next
 | ||
|    20 generations will look like this:
 | ||
| 
 | ||
|                   1         2         3
 | ||
|         0         0         0         0
 | ||
|   0: ...#..#.#..##......###...###...........
 | ||
|   1: ...#...#....#.....#..#..#..#...........
 | ||
|   2: ...##..##...##....#..#..#..##..........
 | ||
|   3: ..#.#...#..#.#....#..#..#...#..........
 | ||
|   4: ...#.#..#...#.#...#..#..##..##.........
 | ||
|   5: ....#...##...#.#..#..#...#...#.........
 | ||
|   6: ....##.#.#....#...#..##..##..##........
 | ||
|   7: ...#..###.#...##..#...#...#...#........
 | ||
|   8: ...#....##.#.#.#..##..##..##..##.......
 | ||
|   9: ...##..#..#####....#...#...#...#.......
 | ||
|  10: ..#.#..#...#.##....##..##..##..##......
 | ||
|  11: ...#...##...#.#...#.#...#...#...#......
 | ||
|  12: ...##.#.#....#.#...#.#..##..##..##.....
 | ||
|  13: ..#..###.#....#.#...#....#...#...#.....
 | ||
|  14: ..#....##.#....#.#..##...##..##..##....
 | ||
|  15: ..##..#..#.#....#....#..#.#...#...#....
 | ||
|  16: .#.#..#...#.#...##...#...#.#..##..##...
 | ||
|  17: ..#...##...#.#.#.#...##...#....#...#...
 | ||
|  18: ..##.#.#....#####.#.#.#...##...##..##..
 | ||
|  19: .#..###.#..#.#.#######.#.#.#..#.#...#..
 | ||
|  20: .#....##....#####...#######....#.#..##.
 | ||
| 
 | ||
|    The generation is shown along the left, where 0 is the initial state. The
 | ||
|    pot numbers are shown along the top, where 0 labels the center pot,
 | ||
|    negative-numbered pots extend to the left, and positive pots extend toward
 | ||
|    the right. Remember, the initial state begins at pot 0, which is not the
 | ||
|    leftmost pot used in this example.
 | ||
| 
 | ||
|    After one generation, only seven plants remain. The one in pot 0 matched the
 | ||
|    rule looking for ..#.., the one in pot 4 matched the rule looking for .#.#.,
 | ||
|    pot 9 matched .##.., and so on.
 | ||
| 
 | ||
|    In this example, after 20 generations, the pots shown as # contain plants,
 | ||
|    the furthest left of which is pot -2, and the furthest right of which is pot
 | ||
|    34. Adding up all the numbers of plant-containing pots after the 20th
 | ||
|    generation produces 325.
 | ||
| 
 | ||
|    After 20 generations, what is the sum of the numbers of all pots which
 | ||
|    contain a plant?
 | ||
| 
 | ||
|    Your puzzle answer was 2281.
 | ||
| 
 | ||
| --- Part Two ---
 | ||
| 
 | ||
|    You realize that 20 generations aren't enough. After all, these plants will
 | ||
|    need to last another 1500 years to even reach your timeline, not to mention
 | ||
|    your future.
 | ||
| 
 | ||
|    After fifty billion (50000000000) generations, what is the sum of the
 | ||
|    numbers of all pots which contain a plant?
 | ||
| 
 | ||
|    Your puzzle answer was 2250000000120.
 | ||
| 
 | ||
|    Both parts of this puzzle are complete! They provide two gold stars: **
 | ||
| 
 | ||
| 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/12/input
 |