1
0
Fork 0
adventofcode/2017/13/firewall.py

12 lines
503 B
Python
Executable File

#!/usr/bin/env python3
def scanner_pos(length, time):
offset = time % ((length - 1) * 2)
return 2 * (length - 1) - offset if offset > length - 1 else offset
import sys
import itertools
ranges = {k: v for (k, v) in [tuple(map(int, l.strip().split(": "))) for l in sys.stdin.readlines()]}
print(sum(pos * ranges[pos] for pos in ranges if scanner_pos(ranges[pos], pos) == 0))
print(next(time for time in itertools.count() if not any(scanner_pos(ranges[pos], time + pos) == 0 for pos in ranges)))