blob: 74ca7fdbee379e0add3ea02855151b89f4fbe484 (
plain) (
tree)
|
|
#!/usr/bin/env python
import numpy as np
from scipy.ndimage import convolve
with open('day20.txt') as data:
algo, image = data.read().split('\n\n')
algo = np.array(list(algo))
algo = (algo == '#').astype(int)
image = np.stack(list(map(list, image.strip().split('\n'))))
image = (image == '#').astype(int)
image = np.pad(image, (100, 100))
weights = 2 ** np.arange(9).reshape(3,3)
# part 1
for i in range(50):
image = algo[convolve(image, weights)]
if i == 1:
print(image.sum())
print(image.sum())
|