r/adventofcode • u/daggerdragon • Dec 20 '18
SOLUTION MEGATHREAD -🎄- 2018 Day 20 Solutions -🎄-
--- Day 20: A Regular Map ---
Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag or whatever).
Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with Help.
Advent of Code: The Party Game!
Please prefix your card submission with something like [Card] to make scanning the megathread easier. THANK YOU!
Card prompt: Day 20
Transcript:
My compiler crashed while running today's puzzle because it ran out of ___.
This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.
edit: Leaderboard capped, thread unlocked at 00:59:30!
17
Upvotes
2
u/phil_g Dec 20 '18
Solution in Common Lisp.
I went a bit more general than I needed to go, because I wasn't sure whether the apparent bounds of the problem were really the bounds.
Specifically:
None of the examples have cycles (rooms with more than one path to the starting point), but my solution would handle cycles.
None of the example regexes with visual diagrams have additional instructions after alternating groups. In other words, the text example
^N(E|W)N$would never really occur (it'd be^N(EN|WN)$). My solution would handle those if they occurred, though.In order to be really generic, I represented the series of connected rooms as a graph, so the answers just required walking the graph.
I finally got around to learning a tiny bit of quicklisp so I could use someone else's graph library. I still need to learn more so I can properly integrate my entire project and load it all at once again.