Files
python-aoc-2021/day05/part2.py
Sebastian Seedorf 7a154ed958 Day 05 (glamorized)
2021-12-13 10:36:41 +01:00

17 lines
535 B
Python

#!/usr/bin/env python3
import re
from itertools import repeat
lines = (x.strip() for x in open("input.txt"))
points = {}
for line in lines:
[x1, y1, x2, y2] = list(map(int, re.match(r"(\d+),(\d+) -> (\d+),(\d+)", line).groups()))
for x, y in zip(
range(x1, x2+(x1 <= x2)*2-1, (x1 <= x2)*2-1) if x1 != x2 else repeat(x1),
range(y1, y2+(y1 <= y2)*2-1, (y1 <= y2)*2-1) if y1 != y2 else repeat(y1)
):
points[(x, y)] = points.get((x, y), 0) + 1
print(sum(val >= 2 for val in points.values()))