From 3421534adb589e04e55c033e0d57ef6a2863f554 Mon Sep 17 00:00:00 2001 From: Jeremy Kaplan Date: Fri, 31 Jul 2026 16:28:58 -0400 Subject: [PATCH] 2017 Day 13 Part 1 --- 2017/day13.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 2017/day13.py diff --git a/2017/day13.py b/2017/day13.py new file mode 100644 index 0000000..de669c9 --- /dev/null +++ b/2017/day13.py @@ -0,0 +1,29 @@ +with open("input/day13.txt") as f: + input = f.read() + +scanners = {} + +for line in input.splitlines(): + parts = line.split(": ") + d, r = int(parts[0]), int(parts[1]) + + assert d not in scanners, "no overlapping scanners" + scanners[d] = r + + +def part1(scanners): + severity = 0 + for d in range(max(scanners.keys()) + 1): + r = scanners.get(d) + if r is None: + continue + + assert r > 1, r + cycle = (r - 1) * 2 + pos = d % cycle + if pos == 0: + severity += d * r + return severity + + +print(part1(scanners))