Files
python-aoc-2020/day15/part2.py
Sebastian Seedorf 11d1b8c4c6 Day 15 (cleanup)
2020-12-15 09:55:45 +01:00

23 lines
564 B
Python

#!/usr/bin/env python3
from collections import defaultdict
lines = (x.strip() for x in open("input.txt"))
TARGET = 30000000
for line in lines:
print(line)
nums = defaultdict(list)
turn = 0
last_spoken = 0
for starting in map(int, line.split(",")):
nums[starting] = [turn]
turn += 1
last_spoken = starting
for t in range(turn, TARGET):
last = nums[last_spoken]
n = last[1] - last[0] if len(last) == 2 else 0
nums[n] = nums[n][-1:] + [t]
last_spoken = n
print("->", last_spoken)