Files
python-aoc-2020/day15/part2.py
Sebastian Seedorf bf96e41ccb Day 15
2020-12-15 09:47:24 +01:00

26 lines
598 B
Python

#!/usr/bin/env python3
from collections import defaultdict
lines = (x.strip() for x in open("input.txt"))
nums = defaultdict(list)
TARGET = 30000000
for line in lines:
print(line)
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]
if len(last) == 2:
n = last[1] - last[0]
else:
n = 0
nums[n] = nums[n][-1:] + [t]
last_spoken = n
print("->", last_spoken)