181 lines
4.4 KiB
Plaintext
181 lines
4.4 KiB
Plaintext
Advent of Code
|
||
|
||
br0xen 40*
|
||
|
||
• [About]
|
||
• [Stats]
|
||
• [Leaderboard]
|
||
• [Settings]
|
||
• [Log out]
|
||
|
||
--- Day 18: Like a GIF For Your Yard ---
|
||
|
||
After the million lights incident, the fire code has gotten stricter: now, at most ten thousand
|
||
lights are allowed. You arrange them in a 100x100 grid.
|
||
|
||
Never one to let you down, Santa again mails you instructions on the ideal lighting
|
||
configuration. With so few lights, he says, you'll have to resort to animation.
|
||
|
||
Start by setting your lights to the included initial configuration (your puzzle input). A #
|
||
means "on", and a . means "off".
|
||
|
||
Then, animate your grid in steps, where each step decides the next configuration based on the
|
||
current one. Each light's next state (either on or off) depends on its current state and the
|
||
current states of the eight lights adjacent to it (including diagonals). Lights on the edge of
|
||
the grid might have fewer than eight neighbors; the missing ones always count as "off".
|
||
|
||
For example, in a simplified 6x6 grid, the light marked A has the neighbors numbered 1 through
|
||
8, and the light marked B, which is on an edge, only has the neighbors marked 1 through 5:
|
||
|
||
1B5...
|
||
234...
|
||
......
|
||
..123.
|
||
..8A4.
|
||
..765.
|
||
|
||
The state a light should have next is based on its current state (on or off) plus the number of
|
||
neighbors that are on:
|
||
|
||
• A light which is on stays on when 2 or 3 neighbors are on, and turns off otherwise.
|
||
• A light which is off turns on if exactly 3 neighbors are on, and stays off otherwise.
|
||
|
||
All of the lights update simultaneously; they all consider the same current state before moving
|
||
to the next.
|
||
|
||
Here's a few steps from an example configuration of another 6x6 grid:
|
||
|
||
Initial state:
|
||
.#.#.#
|
||
...##.
|
||
#....#
|
||
..#...
|
||
#.#..#
|
||
####..
|
||
|
||
After 1 step:
|
||
..##..
|
||
..##.#
|
||
...##.
|
||
......
|
||
#.....
|
||
#.##..
|
||
|
||
After 2 steps:
|
||
..###.
|
||
......
|
||
..###.
|
||
......
|
||
.#....
|
||
.#....
|
||
|
||
After 3 steps:
|
||
...#..
|
||
......
|
||
...#..
|
||
..##..
|
||
......
|
||
......
|
||
|
||
After 4 steps:
|
||
......
|
||
......
|
||
..##..
|
||
..##..
|
||
......
|
||
......
|
||
|
||
After 4 steps, this example has four lights on.
|
||
|
||
In your grid of 100x100 lights, given your initial configuration, how many lights are on after
|
||
100 steps?
|
||
|
||
Your puzzle answer was 814.
|
||
|
||
--- Part Two ---
|
||
|
||
You flip the instructions over; Santa goes on to point out that this is all just an
|
||
implementation of Conway's Game of Life. At least, it was, until you notice that something's
|
||
wrong with the grid of lights you bought: four lights, one in each corner, are stuck on and
|
||
can't be turned off. The example above will actually run like this:
|
||
|
||
Initial state:
|
||
##.#.#
|
||
...##.
|
||
#....#
|
||
..#...
|
||
#.#..#
|
||
####.#
|
||
|
||
After 1 step:
|
||
#.##.#
|
||
####.#
|
||
...##.
|
||
......
|
||
#...#.
|
||
#.####
|
||
|
||
After 2 steps:
|
||
#..#.#
|
||
#....#
|
||
.#.##.
|
||
...##.
|
||
.#..##
|
||
##.###
|
||
|
||
After 3 steps:
|
||
#...##
|
||
####.#
|
||
..##.#
|
||
......
|
||
##....
|
||
####.#
|
||
|
||
After 4 steps:
|
||
#.####
|
||
#....#
|
||
...#..
|
||
.##...
|
||
#.....
|
||
#.#..#
|
||
|
||
After 5 steps:
|
||
##.###
|
||
.##..#
|
||
.##...
|
||
.##...
|
||
#.#...
|
||
##...#
|
||
|
||
After 5 steps, this example now has 17 lights on.
|
||
|
||
In your grid of 100x100 lights, given your initial configuration, but with the four corners
|
||
always in the on state, how many lights are on after 100 steps?
|
||
|
||
Your puzzle answer was 924.
|
||
|
||
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.
|
||
|
||
You can also [Shareon Twitter Google+ Reddit] this puzzle.
|
||
|
||
References
|
||
|
||
Visible links
|
||
. http://adventofcode.com/
|
||
. http://adventofcode.com/about
|
||
. http://adventofcode.com/stats
|
||
. http://adventofcode.com/leaderboard
|
||
. http://adventofcode.com/settings
|
||
. http://adventofcode.com/auth/logout
|
||
. http://adventofcode.com/day/6
|
||
. https://en.wikipedia.org/wiki/Conway's_Game_of_Life
|
||
. http://adventofcode.com/
|
||
. http://adventofcode.com/day/18/input
|
||
. https://twitter.com/intent/tweet?text=I%27ve+completed+%22Like+a+GIF+For+Your+Yard%22+%2D+Day+18+%2D+Advent+of+Code&url=http%3A%2F%2Fadventofcode%2Ecom%2Fday%2F18&related=ericwastl&hashtags=AdventOfCode
|
||
. https://plus.google.com/share?url=http%3A%2F%2Fadventofcode%2Ecom%2Fday%2F18
|
||
. http://www.reddit.com/submit?url=http%3A%2F%2Fadventofcode%2Ecom%2Fday%2F18&title=I%27ve+completed+%22Like+a+GIF+For+Your+Yard%22+%2D+Day+18+%2D+Advent+of+Code
|