advent-of-code/2024-python/output
Anders Englöf Ytterström 9a7a9c878b Solve 2024:12 p2 "Garden Groups"
Funny that original 2023 day 5 also was a PITA
to figure out.

Pt 1 was solved using BFS to flood-fill. After
trying some different methods for pt 2, including:

- wallcrawling,
- side couting,
- corner counting

I never produced code to get past the test cases.

- Wall crawling are hard due to overlapping
regions.
- corner couting and side counting are both hard,
but will act as equally good solutions (since side
count equals corner count).
- Concave corners are hard, convex corners are
easy.

The final code is based on the posts on the
solutions megathread. Changes:

- Keep all areas in a set, defining a region.
- find all convex and concave corners in each
region.

A new helper got introduced: Di, storing all
diagonal neighbors for grid traversing.

Convex corners:

..  R.  .R  ..
R.  ..  ..  .R

Concave corners:

RR  .R  R.  RR
.R  RR  RR  R.
2025-01-05 00:06:18 +01:00
..
__init__.py Solve 2024:12 p2 "Garden Groups" 2025-01-05 00:06:18 +01:00
day_01.py Solve 2024:1 p1-2 "Historian Hysteria" 2025-01-05 00:06:18 +01:00
day_02.py Solve 2024:2 p1-2 "Red-Nosed Reports" 2025-01-05 00:06:18 +01:00
day_03.py Solve 2024:3 p1-2 "Mull It Over" 2025-01-05 00:06:18 +01:00
day_04.py Solve 2024:4 p1-2 "Ceres Search" 2025-01-05 00:06:18 +01:00
day_05.py Solve 2024:5 p1-2 "Print Queue" 2025-01-05 00:06:18 +01:00
day_06.py Solve 2024:6 p1-2 "Guard Gallivant" 2025-01-05 00:06:18 +01:00
day_07.py Solve 2024:7 p1-2 "Bridge Repair" 2025-01-05 00:06:18 +01:00
day_08.py Solve 2024:8 p1-2 "Resonant Collinearity" 2025-01-05 00:06:18 +01:00
day_09.py Solve 2024:9 p1-2 "Disk Fragmenter" 2025-01-05 00:06:18 +01:00
day_10.py Solve 2024:10 p1-2 "Hoof It" 2025-01-05 00:06:18 +01:00
day_11.py Solve 2024:11 p1-2 "Plutonian Pebbles" 2025-01-05 00:06:18 +01:00
day_12.py Solve 2024:12 p2 "Garden Groups" 2025-01-05 00:06:18 +01:00
day_13.py Solve 2024:13 p1-2 "Claw Contraption" 2025-01-05 00:06:18 +01:00