387 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			387 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Advent of Code
 | ||
| 
 | ||
| --- Day 11: Dumbo Octopus ---
 | ||
| 
 | ||
|    You enter a large cavern full of rare bioluminescent dumbo octopuses! They seem to not like the Christmas lights on your submarine, so you turn
 | ||
|    them off for now.
 | ||
| 
 | ||
|    There are 100 octopuses arranged neatly in a 10 by 10 grid. Each octopus slowly gains energy over time and flashes brightly for a moment when its
 | ||
|    energy is full. Although your lights are off, maybe you could navigate through the cave without disturbing the octopuses if you could predict
 | ||
|    when the flashes of light will happen.
 | ||
| 
 | ||
|    Each octopus has an energy level - your submarine can remotely measure the energy level of each octopus (your puzzle input). For example:
 | ||
| 
 | ||
|  5483143223
 | ||
|  2745854711
 | ||
|  5264556173
 | ||
|  6141336146
 | ||
|  6357385478
 | ||
|  4167524645
 | ||
|  2176841721
 | ||
|  6882881134
 | ||
|  4846848554
 | ||
|  5283751526
 | ||
| 
 | ||
|    The energy level of each octopus is a value between 0 and 9. Here, the top-left octopus has an energy level of 5, the bottom-right one has an
 | ||
|    energy level of 6, and so on.
 | ||
| 
 | ||
|    You can model the energy levels and flashes of light in steps. During a single step, the following occurs:
 | ||
| 
 | ||
|      • First, the energy level of each octopus increases by 1.
 | ||
|      • Then, any octopus with an energy level greater than 9 flashes. This increases the energy level of all adjacent octopuses by 1, including
 | ||
|        octopuses that are diagonally adjacent. If this causes an octopus to have an energy level greater than 9, it also flashes. This process
 | ||
|        continues as long as new octopuses keep having their energy level increased beyond 9. (An octopus can only flash at most once per step.)
 | ||
|      • Finally, any octopus that flashed during this step has its energy level set to 0, as it used all of its energy to flash.
 | ||
| 
 | ||
|    Adjacent flashes can cause an octopus to flash on a step even if it begins that step with very little energy. Consider the middle octopus with 1
 | ||
|    energy in this situation:
 | ||
| 
 | ||
|  Before any steps:
 | ||
|  11111
 | ||
|  19991
 | ||
|  19191
 | ||
|  19991
 | ||
|  11111
 | ||
| 
 | ||
|  After step 1:
 | ||
|  34543
 | ||
|  40004
 | ||
|  50005
 | ||
|  40004
 | ||
|  34543
 | ||
| 
 | ||
|  After step 2:
 | ||
|  45654
 | ||
|  51115
 | ||
|  61116
 | ||
|  51115
 | ||
|  45654
 | ||
| 
 | ||
|    An octopus is highlighted when it flashed during the given step.
 | ||
| 
 | ||
|    Here is how the larger example above progresses:
 | ||
| 
 | ||
|  Before any steps:
 | ||
|  5483143223
 | ||
|  2745854711
 | ||
|  5264556173
 | ||
|  6141336146
 | ||
|  6357385478
 | ||
|  4167524645
 | ||
|  2176841721
 | ||
|  6882881134
 | ||
|  4846848554
 | ||
|  5283751526
 | ||
| 
 | ||
|  After step 1:
 | ||
|  6594254334
 | ||
|  3856965822
 | ||
|  6375667284
 | ||
|  7252447257
 | ||
|  7468496589
 | ||
|  5278635756
 | ||
|  3287952832
 | ||
|  7993992245
 | ||
|  5957959665
 | ||
|  6394862637
 | ||
| 
 | ||
|  After step 2:
 | ||
|  8807476555
 | ||
|  5089087054
 | ||
|  8597889608
 | ||
|  8485769600
 | ||
|  8700908800
 | ||
|  6600088989
 | ||
|  6800005943
 | ||
|  0000007456
 | ||
|  9000000876
 | ||
|  8700006848
 | ||
| 
 | ||
|  After step 3:
 | ||
|  0050900866
 | ||
|  8500800575
 | ||
|  9900000039
 | ||
|  9700000041
 | ||
|  9935080063
 | ||
|  7712300000
 | ||
|  7911250009
 | ||
|  2211130000
 | ||
|  0421125000
 | ||
|  0021119000
 | ||
| 
 | ||
|  After step 4:
 | ||
|  2263031977
 | ||
|  0923031697
 | ||
|  0032221150
 | ||
|  0041111163
 | ||
|  0076191174
 | ||
|  0053411122
 | ||
|  0042361120
 | ||
|  5532241122
 | ||
|  1532247211
 | ||
|  1132230211
 | ||
| 
 | ||
|  After step 5:
 | ||
|  4484144000
 | ||
|  2044144000
 | ||
|  2253333493
 | ||
|  1152333274
 | ||
|  1187303285
 | ||
|  1164633233
 | ||
|  1153472231
 | ||
|  6643352233
 | ||
|  2643358322
 | ||
|  2243341322
 | ||
| 
 | ||
|  After step 6:
 | ||
|  5595255111
 | ||
|  3155255222
 | ||
|  3364444605
 | ||
|  2263444496
 | ||
|  2298414396
 | ||
|  2275744344
 | ||
|  2264583342
 | ||
|  7754463344
 | ||
|  3754469433
 | ||
|  3354452433
 | ||
| 
 | ||
|  After step 7:
 | ||
|  6707366222
 | ||
|  4377366333
 | ||
|  4475555827
 | ||
|  3496655709
 | ||
|  3500625609
 | ||
|  3509955566
 | ||
|  3486694453
 | ||
|  8865585555
 | ||
|  4865580644
 | ||
|  4465574644
 | ||
| 
 | ||
|  After step 8:
 | ||
|  7818477333
 | ||
|  5488477444
 | ||
|  5697666949
 | ||
|  4608766830
 | ||
|  4734946730
 | ||
|  4740097688
 | ||
|  6900007564
 | ||
|  0000009666
 | ||
|  8000004755
 | ||
|  6800007755
 | ||
| 
 | ||
|  After step 9:
 | ||
|  9060000644
 | ||
|  7800000976
 | ||
|  6900000080
 | ||
|  5840000082
 | ||
|  5858000093
 | ||
|  6962400000
 | ||
|  8021250009
 | ||
|  2221130009
 | ||
|  9111128097
 | ||
|  7911119976
 | ||
| 
 | ||
|  After step 10:
 | ||
|  0481112976
 | ||
|  0031112009
 | ||
|  0041112504
 | ||
|  0081111406
 | ||
|  0099111306
 | ||
|  0093511233
 | ||
|  0442361130
 | ||
|  5532252350
 | ||
|  0532250600
 | ||
|  0032240000
 | ||
| 
 | ||
|    After step 10, there have been a total of 204 flashes. Fast forwarding, here is the same configuration every 10 steps:
 | ||
| 
 | ||
|  After step 20:
 | ||
|  3936556452
 | ||
|  5686556806
 | ||
|  4496555690
 | ||
|  4448655580
 | ||
|  4456865570
 | ||
|  5680086577
 | ||
|  7000009896
 | ||
|  0000000344
 | ||
|  6000000364
 | ||
|  4600009543
 | ||
| 
 | ||
|  After step 30:
 | ||
|  0643334118
 | ||
|  4253334611
 | ||
|  3374333458
 | ||
|  2225333337
 | ||
|  2229333338
 | ||
|  2276733333
 | ||
|  2754574565
 | ||
|  5544458511
 | ||
|  9444447111
 | ||
|  7944446119
 | ||
| 
 | ||
|  After step 40:
 | ||
|  6211111981
 | ||
|  0421111119
 | ||
|  0042111115
 | ||
|  0003111115
 | ||
|  0003111116
 | ||
|  0065611111
 | ||
|  0532351111
 | ||
|  3322234597
 | ||
|  2222222976
 | ||
|  2222222762
 | ||
| 
 | ||
|  After step 50:
 | ||
|  9655556447
 | ||
|  4865556805
 | ||
|  4486555690
 | ||
|  4458655580
 | ||
|  4574865570
 | ||
|  5700086566
 | ||
|  6000009887
 | ||
|  8000000533
 | ||
|  6800000633
 | ||
|  5680000538
 | ||
| 
 | ||
|  After step 60:
 | ||
|  2533334200
 | ||
|  2743334640
 | ||
|  2264333458
 | ||
|  2225333337
 | ||
|  2225333338
 | ||
|  2287833333
 | ||
|  3854573455
 | ||
|  1854458611
 | ||
|  1175447111
 | ||
|  1115446111
 | ||
| 
 | ||
|  After step 70:
 | ||
|  8211111164
 | ||
|  0421111166
 | ||
|  0042111114
 | ||
|  0004211115
 | ||
|  0000211116
 | ||
|  0065611111
 | ||
|  0532351111
 | ||
|  7322235117
 | ||
|  5722223475
 | ||
|  4572222754
 | ||
| 
 | ||
|  After step 80:
 | ||
|  1755555697
 | ||
|  5965555609
 | ||
|  4486555680
 | ||
|  4458655580
 | ||
|  4570865570
 | ||
|  5700086566
 | ||
|  7000008666
 | ||
|  0000000990
 | ||
|  0000000800
 | ||
|  0000000000
 | ||
| 
 | ||
|  After step 90:
 | ||
|  7433333522
 | ||
|  2643333522
 | ||
|  2264333458
 | ||
|  2226433337
 | ||
|  2222433338
 | ||
|  2287833333
 | ||
|  2854573333
 | ||
|  4854458333
 | ||
|  3387779333
 | ||
|  3333333333
 | ||
| 
 | ||
|  After step 100:
 | ||
|  0397666866
 | ||
|  0749766918
 | ||
|  0053976933
 | ||
|  0004297822
 | ||
|  0004229892
 | ||
|  0053222877
 | ||
|  0532222966
 | ||
|  9322228966
 | ||
|  7922286866
 | ||
|  6789998766
 | ||
| 
 | ||
|    After 100 steps, there have been a total of 1656 flashes.
 | ||
| 
 | ||
|    Given the starting energy levels of the dumbo octopuses in your cavern, simulate 100 steps. How many total flashes are there after 100 steps?
 | ||
| 
 | ||
|    Your puzzle answer was 1659.
 | ||
| 
 | ||
| --- Part Two ---
 | ||
| 
 | ||
|    It seems like the individual flashes aren't bright enough to navigate. However, you might have a better option: the flashes seem to be
 | ||
|    synchronizing!
 | ||
| 
 | ||
|    In the example above, the first time all octopuses flash simultaneously is step 195:
 | ||
| 
 | ||
|  After step 193:
 | ||
|  5877777777
 | ||
|  8877777777
 | ||
|  7777777777
 | ||
|  7777777777
 | ||
|  7777777777
 | ||
|  7777777777
 | ||
|  7777777777
 | ||
|  7777777777
 | ||
|  7777777777
 | ||
|  7777777777
 | ||
| 
 | ||
|  After step 194:
 | ||
|  6988888888
 | ||
|  9988888888
 | ||
|  8888888888
 | ||
|  8888888888
 | ||
|  8888888888
 | ||
|  8888888888
 | ||
|  8888888888
 | ||
|  8888888888
 | ||
|  8888888888
 | ||
|  8888888888
 | ||
| 
 | ||
|  After step 195:
 | ||
|  0000000000
 | ||
|  0000000000
 | ||
|  0000000000
 | ||
|  0000000000
 | ||
|  0000000000
 | ||
|  0000000000
 | ||
|  0000000000
 | ||
|  0000000000
 | ||
|  0000000000
 | ||
|  0000000000
 | ||
| 
 | ||
|    If you can calculate the exact moments when the octopuses will all flash simultaneously, you should be able to navigate through the cavern. What
 | ||
|    is the first step during which all octopuses flash?
 | ||
| 
 | ||
|    Your puzzle answer was 227.
 | ||
| 
 | ||
|    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/2021/about
 | ||
|    . https://adventofcode.com/2021/events
 | ||
|    . https://adventofcode.com/2021/settings
 | ||
|    . https://adventofcode.com/2021/auth/logout
 | ||
|    . Advent of Code Supporter
 | ||
| 	https://adventofcode.com/2021/support
 | ||
|    . https://adventofcode.com/2021
 | ||
|    . https://adventofcode.com/2021
 | ||
|    . https://adventofcode.com/2021/support
 | ||
|    . https://adventofcode.com/2021/sponsors
 | ||
|    . https://adventofcode.com/2021/leaderboard
 | ||
|    . https://adventofcode.com/2021/stats
 | ||
|    . https://adventofcode.com/2021/sponsors
 | ||
|    . https://www.youtube.com/watch?v=eih-VSaS2g0
 | ||
|    . https://adventofcode.com/2021
 | ||
|    . https://adventofcode.com/2021/day/11/input
 | ||
|    . javascript:void(0);
 |