diff --git a/day17/part1.py b/day17/part1.py index e8e8440..3bc0b31 100644 --- a/day17/part1.py +++ b/day17/part1.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import numpy as np -from scipy import signal +from scipy.signal import convolve DIMS = 3 lines = [[(1 if x == '#' else 0) for x in x.strip()] for x in open("input.txt")] @@ -11,15 +11,15 @@ kernel = np.ones((3, )*DIMS, dtype=np.byte) kernel[(1, )*DIMS] = 0 -for iter in range(6): +for _ in range(6): grid = np.pad(grid, pad_width=1, mode='constant', constant_values=0) - neighbors = signal.convolve(grid, kernel, mode='same') + neighbors = convolve(grid, kernel, mode='same') set_inactive = np.logical_and(grid == 1, np.floor_divide(neighbors, 2) != 1) set_active = np.logical_and(grid == 0, neighbors == 3) grid[set_inactive] = 0 grid[set_active] = 1 for dim in range(DIMS): - a = np.flatnonzero(grid.sum(axis=tuple(x for x in range(DIMS) if x!=dim))) - grid = grid[(slice(None), )*dim + (slice(min(a), max(a)+1), )] + a = np.flatnonzero(grid.sum(axis=tuple(x for x in range(DIMS) if x != dim))) + grid = grid[(slice(None),)*dim + (slice(min(a), max(a)+1),)] print(np.sum(grid)) diff --git a/day17/part2.py b/day17/part2.py index 4113f1e..1c8bbe5 100644 --- a/day17/part2.py +++ b/day17/part2.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import numpy as np -from scipy import signal +from scipy.signal import convolve DIMS = 4 lines = [[(1 if x == '#' else 0) for x in x.strip()] for x in open("input.txt")] @@ -11,15 +11,15 @@ kernel = np.ones((3, )*DIMS, dtype=np.byte) kernel[(1, )*DIMS] = 0 -for iter in range(6): +for _ in range(6): grid = np.pad(grid, pad_width=1, mode='constant', constant_values=0) - neighbors = signal.convolve(grid, kernel, mode='same') + neighbors = convolve(grid, kernel, mode='same') set_inactive = np.logical_and(grid == 1, np.floor_divide(neighbors, 2) != 1) set_active = np.logical_and(grid == 0, neighbors == 3) grid[set_inactive] = 0 grid[set_active] = 1 for dim in range(DIMS): - a = np.flatnonzero(grid.sum(axis=tuple(x for x in range(DIMS) if x!=dim))) - grid = grid[(slice(None), )*dim + (slice(min(a), max(a)+1), )] + a = np.flatnonzero(grid.sum(axis=tuple(x for x in range(DIMS) if x != dim))) + grid = grid[(slice(None),)*dim + (slice(min(a), max(a)+1),)] print(np.sum(grid))