Files
aoc_2020_python/15/15.py
T
2021-05-12 22:32:49 +03:00

23 lines
452 B
Python

from collections import defaultdict
numbers = [14,1,17,0,3,20]
def f(numbers, nth):
d={}
for i, n in enumerate(numbers[:-1], 1):
d[n] = i
prev = numbers[-1]
for i in range(len(numbers), nth):
if prev not in d:
d[prev] = i
prev = 0
else:
next = i-d[prev]
d[prev] = i
prev = next
return prev
print(f(numbers, 2020))
print(f(numbers, 30_000_000))