Advent-of-Code/2021/6/main.py

31 lines
842 B
Python
Raw Permalink Normal View History

2021-12-07 14:28:54 -05:00
def SimulateFish(days_until_next_fish, total_days_left):
print('SimulateFish(', days_until_next_fish, ',', total_days_left, ')')
# If we're past the final date, don't count any more:
if(total_days_left - days_until_next_fish <= 0):
# add 1 for THIS fish
return 1
total = 0
# Add up all the totals of the fish this one is going to spawn
for i in range(total_days_left - days_until_next_fish, 0, -7):
total += SimulateFish(9, i)
# Add this fish, as well
total += 1
# Return grand total from this fish (INCLUDING this fish)
return total
#### MAIN EXECUTION ####
fish = []
with open('data', 'r') as fp:
fish = fp.readline().strip().split(',')
grand_total = 0
for i in range(0, len(fish)):
grand_total += SimulateFish(int(fish[i]), 80)
print(grand_total)