21 lines
618 B
Python
21 lines
618 B
Python
|
with open("sample.txt") as f:
|
||
|
fish = [int(n) for n in f.read().split(',')]
|
||
|
|
||
|
# note that we don't actually care about the timers themselves,
|
||
|
# we just care about the total count after x days.
|
||
|
#
|
||
|
# technically we also care about the timer values,
|
||
|
# since this directly influences the total count per daily cycle.
|
||
|
|
||
|
from collections import Counter
|
||
|
|
||
|
def advance(counter, days):
|
||
|
for day in range(days):
|
||
|
counter[(day+7)%9] += counter[day%9] # every 7 days, a new fish spawns taking 9 days.
|
||
|
return sum(counter.values())
|
||
|
|
||
|
c = Counter(fish)
|
||
|
part1 = advance(c,80)
|
||
|
c = Counter(fish)
|
||
|
part2 = advance(c,256)
|
||
|
print(part1, part2)
|