/ Python / 2020 / 15.py
15.py
 1  from lib import *
 2  
 3  input = read_input(2020, 15)
 4  
 5  
 6  nums = ints(input)
 7  hist = {n: i for i, n in enumerate(nums[:-1])}
 8  n = nums[-1]
 9  for turn in range(len(nums), 2020):
10      o = turn - 1 - hist[n] if n in hist else 0
11      hist[n] = turn - 1
12      n = o
13  
14  print(n)
15  
16  
17  hist = {n: i for i, n in enumerate(nums[:-1])}
18  n = nums[-1]
19  for turn in range(len(nums), 30000000):
20      o = turn - 1 - hist[n] if n in hist else 0
21      hist[n] = turn - 1
22      n = o
23  
24  print(n)