diff options
-rw-r--r-- | 6np.py | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -0,0 +1,23 @@ +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)) |