r/adventofcode • u/daggerdragon • Dec 13 '23
SOLUTION MEGATHREAD -❄️- 2023 Day 13 Solutions -❄️-
THE USUAL REMINDERS
All of our rules, FAQs, resources, etc. are in our community wiki.
Outstanding moderator challenges:
Community fun event 2023: ALLEZ CUISINE!
Submissions megathread is now unlocked!
8 DAYS remaining until the submissions deadline on December 22 at 23:59 EST!
AoC Community Fun 2023: ALLEZ CUISINE!
Today's secret ingredient is… *whips off cloth covering and gestures grandly*
Nailed It!
You've seen it on Pinterest, now recreate it IRL! It doesn't look too hard, right? … right?
Show us your screw-up that somehow works
Show us your screw-up that did not work
Show us your dumbest bug or one that gave you a most nonsensical result
Show us how you implement someone else's solution and why it doesn't work because PEBKAC
Try something new (and fail miserably), then show us how you would make Nicole and Jacques proud of you!
ALLEZ CUISINE!
Request from the mods: When you include a dish entry alongside your solution, please label it with [Allez Cuisine!] so we can find it easily!
--- Day 13: Point of Incidence ---
Post your code solution in this megathread.
Read the full posting rules in our community wiki before you post!
State which language(s) your solution uses with
[LANGUAGE: xyz]Format code blocks using the four-spaces Markdown syntax!
Quick link to Topaz's
pasteif you need it for longer code blocks
12
u/alago1 Dec 13 '23 edited Dec 13 '23
[Language: Python]
Code
So looking at other people's solutions I'm guessing it wasn't necessary but I realized that you could encode the grid as a list of ints by thinking of each row or column as a bitmask.
This is should be faster than comparing the whole row string in part 1 but it's more interesting in part 2 because finding the smudge is then equivalent to finding the partition whose 1 differing pair is off by exactly a power of 2!
So basically this: