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
|