advent-of-code/2016-python2/output/day_15.py

30 lines
573 B
Python

import re
def solve(data):
M = [
tuple(map(int, re.search(r"(\d+) pos.+ion (\d+)", r).groups()))
for r in data.splitlines()
]
p1 = wait_and_press(M)
p2 = wait_and_press(M + [(11, 0)])
return p1, p2
def wait_and_press(M):
t = 0
while True:
if all((ti + lp[1]) % lp[0] == 0 for ti, lp in enumerate(M, start=t + 1)):
break
t += 1
return t
if __name__ == "__main__":
with open("./input/15.txt", "r") as f:
inp = f.read().strip()
p1, p2 = solve(inp)
print(p1)
print(p2)