from collections import Counter from utils import open_day import numpy as np fish = Counter(map(int, open_day(6).read().split(','))) fish = np.array([fish[i] for i in range(9)]) mat = np.array([ [0, 0, 0, 0, 0, 0, 1, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0] ]) for i in range(256): if i == 80: print(sum(fish)) fish = np.matmul(fish, mat) print(sum(fish))