From 16562437271353781c8a6578b66d646768661391 Mon Sep 17 00:00:00 2001 From: AKP Date: Sun, 8 Dec 2024 12:33:49 +0000 Subject: [PATCH] 2024.08 --- .../2024/08-resonantCollinearity/README.md | 6 ++ .../2024/08-resonantCollinearity/main.py | 74 ++++++++++++++++++ .../2024/08-resonantCollinearity/tests.json | 26 ++++++ challenges/2024/README.md | 5 +- challenges/2024/benchmark-graph.png | Bin 46189 -> 45573 bytes challenges/2024/benchmarks.jsonl | 2 + 6 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 challenges/2024/08-resonantCollinearity/README.md create mode 100644 challenges/2024/08-resonantCollinearity/main.py create mode 100644 challenges/2024/08-resonantCollinearity/tests.json diff --git a/challenges/2024/08-resonantCollinearity/README.md b/challenges/2024/08-resonantCollinearity/README.md new file mode 100644 index 0000000..9414e3c --- /dev/null +++ b/challenges/2024/08-resonantCollinearity/README.md @@ -0,0 +1,6 @@ +# [Day 8: Resonant Collinearity](https://adventofcode.com/2024/day/8) + +Part 1 is: +* less than 298 + +This is not a fully generic solution as, in a situation where the differences between x and y dimensions of pairs of coordinates are not coprime, this implementation would skip steps. \ No newline at end of file diff --git a/challenges/2024/08-resonantCollinearity/main.py b/challenges/2024/08-resonantCollinearity/main.py new file mode 100644 index 0000000..baf2a4c --- /dev/null +++ b/challenges/2024/08-resonantCollinearity/main.py @@ -0,0 +1,74 @@ +import sys +from gridutil import grid, coord +from collections import defaultdict +import itertools +from fractions import Fraction + + +def parse(instr: str) -> tuple[dict[str, list[coord.Coordinate]], tuple[int, int]]: + g = grid.parse(instr) + antenna_by_type = defaultdict(list) + for key in g: + if g[key] == ".": + continue + antenna_by_type[g[key]].append(key) + return antenna_by_type, (grid.get_max_x(g), grid.get_max_y(g)) + + +def one(instr: str): + (antenna_by_type, (max_x, max_y)) = parse(instr) + + pos = set() + for antenna_type in antenna_by_type: + for (a, b) in itertools.permutations(antenna_by_type[antenna_type], 2): + diff = coord.sub(b, a) + c = coord.add(a, coord.mult(diff, 2)) + if 0 <= c.x <= max_x and 0 <= c.y <= max_y: + pos.add(c) + + return len(pos) + + +def two(instr: str): + (antenna_by_type, (max_x, max_y)) = parse(instr) + + pos = set() + for antenna_type in antenna_by_type: + for (a, b) in itertools.permutations(antenna_by_type[antenna_type], 2): + if ( + a.x > b.x + ): # filter out (most) duplicate pairs eg ((1, 2), (2, 1)) will only be calculated as ((2, 1), (1, 2)) will be filtered. This also prevents diff.x from being negative (useful for the mod operation) + continue + + diff = coord.sub(b, a) + + m = Fraction( + diff.y, diff.x + ) # equiv of diff.y / diff.x but without the 26.9999999999996 issue + c = a.y - (m * a.x) + + x_cursor = a.x % diff.x + y_cursor = int((x_cursor * m) + c) + while x_cursor <= max_x: + if 0 <= y_cursor <= max_y: + pos.add((x_cursor, y_cursor)) + x_cursor += diff.x + y_cursor += diff.y + + return len(pos) + + +def _debug(*args, **kwargs): + kwargs["file"] = sys.stderr + print(*args, **kwargs) + + +if __name__ == "__main__": + if len(sys.argv) < 2 or sys.argv[1] not in ["1", "2"]: + print("Missing day argument", file=sys.stderr) + sys.exit(1) + inp = sys.stdin.read().strip() + if sys.argv[1] == "1": + print(one(inp)) + else: + print(two(inp)) diff --git a/challenges/2024/08-resonantCollinearity/tests.json b/challenges/2024/08-resonantCollinearity/tests.json new file mode 100644 index 0000000..3aaf3a8 --- /dev/null +++ b/challenges/2024/08-resonantCollinearity/tests.json @@ -0,0 +1,26 @@ +{ + "1": [ + { + "is": "14", + "input": "............\n........0...\n.....0......\n.......0....\n....0.......\n......A.....\n............\n............\n........A...\n.........A..\n............\n............\n\n" + }, + { + "is": "2", + "input": "..........\n..........\n..........\n....a.....\n..........\n.....a....\n..........\n..........\n..........\n..........\n\n" + }, + { + "is": "4", + "input": "..........\n..........\n..........\n....a.....\n........a.\n.....a....\n..........\n..........\n..........\n..........\n" + } + ], + "2": [ + { + "is": "34", + "input": "............\n........0...\n.....0......\n.......0....\n....0.......\n......A.....\n............\n............\n........A...\n.........A..\n............\n............\n\n" + }, + { + "is": "9", + "input": "T.........\n...T......\n.T........\n..........\n..........\n..........\n..........\n..........\n..........\n..........\n" + } + ] +} \ No newline at end of file diff --git a/challenges/2024/README.md b/challenges/2024/README.md index 19665c2..554a496 100644 --- a/challenges/2024/README.md +++ b/challenges/2024/README.md @@ -4,7 +4,7 @@ Solutions to the [2024 Advent of Code](https://adventofcode.com/2024)! --- -Total stars: **14 ★** +Total stars: **16 ★** ![Benchmark graph](./benchmark-graph.png) @@ -20,4 +20,5 @@ A day denoted with an asterisk means it has a visualisation. | 04* - Ceres Search | ★ ★ | Python | When it says a cross, it does not mean a plus. | | 05 - Print Queue | ★ ★ | Python | Before you dismiss and idea as being "too simple", make sure you check that it doesn't work. | | 06 - Guard Gallivant | ★ ★ | Python | oh dear runtime (also I knew what I wanted to do for so long it just took me 3 hours to implement it properly) | -| 07 - Bridge Repair | ★ ★ | Python | Maths? Backwards?? | \ No newline at end of file +| 07 - Bridge Repair | ★ ★ | Python | Maths? Backwards?? | +| 08 - Resonant Collinearity | ★ ★ | Python | `Fraction` saving us all from the curse of a computer's inability to do floating point arithmetic | \ No newline at end of file diff --git a/challenges/2024/benchmark-graph.png b/challenges/2024/benchmark-graph.png index be12f4a5879756f4f0b523fe20c81cc47579f8ac..aded0dd10c7f94677e8a6c0f848ea993a8592de6 100644 GIT binary patch literal 45573 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 AwEzGB literal 46189 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 diff --git a/challenges/2024/benchmarks.jsonl b/challenges/2024/benchmarks.jsonl index d54d779..af991e8 100644 --- a/challenges/2024/benchmarks.jsonl +++ b/challenges/2024/benchmarks.jsonl @@ -12,3 +12,5 @@ {"day": 6, "part": 2, "runner": "py", "min": 15.881408452987671, "max": 17.086341857910156, "avg": 16.64130985736847, "n": 6} {"day": 7, "part": 1, "runner": "py", "min": 0.025098562240600586, "max": 0.04218649864196777, "avg": 0.027579346656799317, "n": 500} {"day": 7, "part": 2, "runner": "py", "min": 0.03137779235839844, "max": 0.04896378517150879, "avg": 0.03503713369369507, "n": 500} +{"day": 8, "part": 1, "runner": "py", "min": 0.025803089141845703, "max": 0.036757469177246094, "avg": 0.02743640899658203, "n": 200} +{"day": 8, "part": 2, "runner": "py", "min": 0.027710437774658203, "max": 0.035851240158081055, "avg": 0.029560294151306152, "n": 200}