From 04d85bf194d50f8da584a8c657d7490649befb7c Mon Sep 17 00:00:00 2001 From: Brian Chu Date: Sat, 11 Dec 2021 14:11:49 -0800 Subject: solution for day 11 --- day11.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 day11.py diff --git a/day11.py b/day11.py new file mode 100644 index 0000000..e939ed0 --- /dev/null +++ b/day11.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python + +import numpy as np +from scipy.ndimage import convolve + +with open("day11.txt") as data: + octopi = np.array([list(map(int, line.strip())) for line in data]) + +neighbors = np.ones((3,3), dtype=int) +step = 0 +flashes = 0 +while True: + octopi += 1 + flashed = np.zeros_like(octopi, dtype=bool) + while (flashing := ((octopi > 9) & ~flashed)).any(): + octopi += convolve(flashing.astype(int), neighbors, mode='constant') + flashed |= flashing + + octopi[flashed] = 0 + flashes += flashed.sum() + step += 1 + if step == 100: + print(flashes) + + if np.all(octopi == 0): + print(step) + break -- cgit 1.4.1-2-gfad0