diff options
Diffstat (limited to 'src/17/part1')
| -rw-r--r-- | src/17/part1 | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/src/17/part1 b/src/17/part1 new file mode 100644 index 0000000..0e7db4a --- /dev/null +++ b/src/17/part1 @@ -0,0 +1,169 @@ +--- Day 17: Conway Cubes --- + +As your flight slowly drifts through the sky, the Elves at the Mythical Information Bureau at the +North Pole contact you. They'd like some help debugging a malfunctioning experimental energy source +aboard one of their super-secret imaging satellites. + +The experimental energy source is based on cutting-edge technology: a set of Conway Cubes contained +in a pocket dimension! When you hear it's having problems, you can't help but agree to take a look. + +The pocket dimension contains an infinite 3-dimensional grid. At every integer 3-dimensional +coordinate (x,y,z), there exists a single cube which is either [1m[37mactive[0m or +[1m[37minactive[0m. + +In the initial state of the pocket dimension, almost all cubes start [1m[37minactive[0m. The only +exception to this is a small flat region of cubes (your puzzle input); the cubes in this region +start in the specified [1m[37mactive[0m (#) or [1m[37minactive[0m (.) state. + +The energy source then proceeds to boot up by executing six [1m[37mcycles[0m. + +Each cube only ever considers its [1m[37mneighbors[0m: any of the 26 other cubes where any of +their coordinates differ by at most 1. For example, given the cube at x=1,y=2,z=3, its neighbors +include the cube at x=2,y=2,z=2, the cube at x=0,y=2,z=3, and so on. + +During a cycle, [1m[37mall[0m cubes [1m[37msimultaneously[0m change their state according to +the following rules: + + + - If a cube is [1m[37mactive[0m and [1m[37mexactly 2 or 3[0m of its neighbors are also +active, the cube remains [1m[37mactive[0m. Otherwise, the cube becomes [1m[37minactive[0m. + - If a cube is [1m[37minactive[0m but [1m[37mexactly 3[0m of its neighbors are active, the +cube becomes [1m[37mactive[0m. Otherwise, the cube remains [1m[37minactive[0m. + + +The engineers responsible for this experimental energy source would like you to simulate the pocket +dimension and determine what the configuration of cubes should be at the end of the six-cycle boot +process. + +For example, consider the following initial state: + +.#. +..# +### + +Even though the pocket dimension is 3-dimensional, this initial state represents a small +2-dimensional slice of it. (In particular, this initial state defines a 3x3x1 region of the +3-dimensional space.) + +Simulating a few cycles from this initial state produces the following configurations, where the +result of each cycle is shown layer-by-layer at each given z coordinate (and the frame of view +follows the active cells in each cycle): + +Before any cycles: + +z=0 +.#. +..# +### + + +After 1 cycle: + +z=-1 +#.. +..# +.#. + +z=0 +#.# +.## +.#. + +z=1 +#.. +..# +.#. + + +After 2 cycles: + +z=-2 +..... +..... +..#.. +..... +..... + +z=-1 +..#.. +.#..# +....# +.#... +..... + +z=0 +##... +##... +#.... +....# +.###. + +z=1 +..#.. +.#..# +....# +.#... +..... + +z=2 +..... +..... +..#.. +..... +..... + + +After 3 cycles: + +z=-2 +....... +....... +..##... +..###.. +....... +....... +....... + +z=-1 +..#.... +...#... +#...... +.....## +.#...#. +..#.#.. +...#... + +z=0 +...#... +....... +#...... +....... +.....## +.##.#.. +...#... + +z=1 +..#.... +...#... +#...... +.....## +.#...#. +..#.#.. +...#... + +z=2 +....... +....... +..##... +..###.. +....... +....... +....... + +After the full six-cycle boot process completes, [1m[37m112[0m cubes are left in the +[1m[37mactive[0m state. + +Starting with your given initial configuration, simulate six cycles. [1m[37mHow many cubes are +left in the active state after the sixth cycle?[0m + + |
