aoc-2020-zig

Advent of Code 2020 Solutions in Zig
git clone https://git.sinitax.com/sinitax/aoc-2020-zig
Log | Files | Refs | README | sfeed.txt

part2 (3027B)


      1--- Part Two ---
      2
      3For some reason, your simulated results don't match what the experimental energy source engineers
      4expected. Apparently, the pocket dimension actually has four spatial dimensions, not
      5three.
      6
      7The pocket dimension contains an infinite 4-dimensional grid. At every integer 4-dimensional
      8coordinate (x,y,z,w), there exists a single cube (really, a hypercube) which is still
      9either active or inactive.
     10
     11Each cube only ever considers its neighbors: any of the 80 other cubes where any of
     12their coordinates differ by at most 1. For example, given the cube at x=1,y=2,z=3,w=4, its neighbors
     13include the cube at x=2,y=2,z=3,w=3, the cube at x=0,y=2,z=3,w=4, and so on.
     14
     15The initial state of the pocket dimension still consists of a small flat region of cubes.
     16Furthermore, the same rules for cycle updating still apply: during each cycle, consider the
     17number of active neighbors of each cube.
     18
     19For example, consider the same initial state as in the example above. Even though the pocket
     20dimension is 4-dimensional, this initial state represents a small 2-dimensional slice of it. (In
     21particular, this initial state defines a 3x3x1x1 region of the 4-dimensional space.)
     22
     23Simulating a few cycles from this initial state produces the following configurations, where the
     24result of each cycle is shown layer-by-layer at each given z and w coordinate:
     25
     26Before any cycles:
     27
     28z=0, w=0
     29.#.
     30..#
     31###
     32
     33
     34After 1 cycle:
     35
     36z=-1, w=-1
     37#..
     38..#
     39.#.
     40
     41z=0, w=-1
     42#..
     43..#
     44.#.
     45
     46z=1, w=-1
     47#..
     48..#
     49.#.
     50
     51z=-1, w=0
     52#..
     53..#
     54.#.
     55
     56z=0, w=0
     57#.#
     58.##
     59.#.
     60
     61z=1, w=0
     62#..
     63..#
     64.#.
     65
     66z=-1, w=1
     67#..
     68..#
     69.#.
     70
     71z=0, w=1
     72#..
     73..#
     74.#.
     75
     76z=1, w=1
     77#..
     78..#
     79.#.
     80
     81
     82After 2 cycles:
     83
     84z=-2, w=-2
     85.....
     86.....
     87..#..
     88.....
     89.....
     90
     91z=-1, w=-2
     92.....
     93.....
     94.....
     95.....
     96.....
     97
     98z=0, w=-2
     99###..
    100##.##
    101#...#
    102.#..#
    103.###.
    104
    105z=1, w=-2
    106.....
    107.....
    108.....
    109.....
    110.....
    111
    112z=2, w=-2
    113.....
    114.....
    115..#..
    116.....
    117.....
    118
    119z=-2, w=-1
    120.....
    121.....
    122.....
    123.....
    124.....
    125
    126z=-1, w=-1
    127.....
    128.....
    129.....
    130.....
    131.....
    132
    133z=0, w=-1
    134.....
    135.....
    136.....
    137.....
    138.....
    139
    140z=1, w=-1
    141.....
    142.....
    143.....
    144.....
    145.....
    146
    147z=2, w=-1
    148.....
    149.....
    150.....
    151.....
    152.....
    153
    154z=-2, w=0
    155###..
    156##.##
    157#...#
    158.#..#
    159.###.
    160
    161z=-1, w=0
    162.....
    163.....
    164.....
    165.....
    166.....
    167
    168z=0, w=0
    169.....
    170.....
    171.....
    172.....
    173.....
    174
    175z=1, w=0
    176.....
    177.....
    178.....
    179.....
    180.....
    181
    182z=2, w=0
    183###..
    184##.##
    185#...#
    186.#..#
    187.###.
    188
    189z=-2, w=1
    190.....
    191.....
    192.....
    193.....
    194.....
    195
    196z=-1, w=1
    197.....
    198.....
    199.....
    200.....
    201.....
    202
    203z=0, w=1
    204.....
    205.....
    206.....
    207.....
    208.....
    209
    210z=1, w=1
    211.....
    212.....
    213.....
    214.....
    215.....
    216
    217z=2, w=1
    218.....
    219.....
    220.....
    221.....
    222.....
    223
    224z=-2, w=2
    225.....
    226.....
    227..#..
    228.....
    229.....
    230
    231z=-1, w=2
    232.....
    233.....
    234.....
    235.....
    236.....
    237
    238z=0, w=2
    239###..
    240##.##
    241#...#
    242.#..#
    243.###.
    244
    245z=1, w=2
    246.....
    247.....
    248.....
    249.....
    250.....
    251
    252z=2, w=2
    253.....
    254.....
    255..#..
    256.....
    257.....
    258
    259After the full six-cycle boot process completes, 848 cubes are left in the
    260active state.
    261
    262Starting with your given initial configuration, simulate six cycles in a 4-dimensional space.
    263How many cubes are left in the active state after the sixth cycle?
    264
    265