From aabaee2b1c625ab17ab3149d36e2042301174df9 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Tue, 9 Dec 2025 10:49:36 +0100 Subject: Add 2025 day 9 solutions --- 2025/09/puzzle-1.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 2025/09/puzzle-1.py (limited to '2025/09/puzzle-1.py') diff --git a/2025/09/puzzle-1.py b/2025/09/puzzle-1.py new file mode 100755 index 0000000..6d42141 --- /dev/null +++ b/2025/09/puzzle-1.py @@ -0,0 +1,29 @@ +#!/usr/bin/python3 + +import itertools + + +type Point = tuple[int, int] + + +def main() -> None: + with open('input', 'r') as f: + xs = [tuple(map(int, l.split(','))) for l in f.readlines()] + + it = itertools.combinations(xs, 2) + it = itertools.starmap(area, it) + print(max(it)) + + +def area(p: Point, q: Point) -> int: + a, b = minmax(p[0], q[0]) + c, d = minmax(p[1], q[1]) + return (b - a + 1) * (d - c + 1) + + +def minmax(x: int, y: int) -> tuple[int, int]: + return (x, y) if x < y else (y, x) + + +if __name__ == '__main__': + main() -- cgit v1.2.3