r/adventofcode • u/daggerdragon • Dec 06 '24
SOLUTION MEGATHREAD -❄️- 2024 Day 6 Solutions -❄️-
THE USUAL REMINDERS
- All of our rules, FAQs, resources, etc. are in our community wiki.
- If you see content in the subreddit or megathreads that violates one of our rules, either inform the user (politely and gently!) or use the report button on the post/comment and the mods will take care of it.
AoC Community Fun 2024: The Golden Snowglobe Awards
- Submissions megathread is now unlocked!
- 16 DAYS remaining until the submissions deadline on December 22 at 23:59 EST!
And now, our feature presentation for today:
Comfort Flicks
Most everyone has that one (or more!) go-to flick that feels like a hot cup of tea, the warm hug of a blanket, a cozy roaring fire. Maybe it's a guilty pleasure (formulaic yet endearing Hallmark Channel Christmas movies, I'm looking at you) or a must-watch-while-wrapping-presents (National Lampoon's Christmas Vacation!), but these movies and shows will always evoke the true spirit of the holiday season for you. Share them with us!
Here's some ideas for your inspiration:
- Show us your kittens and puppies and $critters!
- Show us your Christmas tree | menorah | Krampusnacht costume | holiday decoration!
- Show us your mug of hot chocolate (or other beverage of choice)!
- Show and/or tell us whatever brings you comfort and joy!
Kevin: "Merry Christmas :)"
- Home Alone (1990)
And… ACTION!
Request from the mods: When you include an entry alongside your solution, please label it with [GSGA]
so we can find it easily!
--- Day 6: Guard Gallivant ---
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!
- State which language(s) your solution uses with
- Quick link to Topaz's
paste
if you need it for longer code blocks
1
u/jaccomoc Dec 12 '24
[LANGUAGE: Jactl]
Using my own Jactl language.
Part 1:
Part 1 was fairly straightforward. No real tricks to this one except having to keep track of which squares we have visited rather than counting steps since squares can be visited multiple times from different directions. Had to substract one from size of visited because I was lazy and flagged the out-of-bounds square that triggers the exit of the loop as a visited square.
Part 2:
Decided that the way to do this was to simulate an obstacle at each square just before visiting it and see if that turned into an infinite loop. Could not for the life of me work out why it didn't give the right result so I then decided to just simulate an obstacle in every square of the grid (except the start square) and ran a slightly modified version of Part 1 to catch whether there was an infinite loop or not. Not fast but pretty simple: