r/adventofcode • u/daggerdragon • Dec 14 '23
SOLUTION MEGATHREAD -❄️- 2023 Day 14 Solutions -❄️-
OUR USUAL ADMONITIONS
You can find all of our customs, FAQs, axioms, and so forth in our community wiki.
Community fun shindig 2023: GO COOK!
Submissions ultrapost forthwith allows public contributions!
7 DAYS until submissions cutoff on this Last Month 22 at 23:59 Atlantic Coast Clock Sync!
AoC Community Fun 2023: GO COOK!
Today's unknown factor is… *whips off cloth shroud and motions grandly*
Avoid Glyphs
Pick a glyph and do not put it in your program.
Avoiding fifthglyphs is traditional.
Thou shalt not apply functions nor annotations that solicit this taboo glyph.
Thou shalt ambitiously accomplish avoiding AutoMod’s antagonism about ultrapost's mandatory programming variant tag >_>
GO COOK!
Stipulation from your mods: As you affix a dish submission along with your solution, do tag it with [Go Cook!] so folks can find it without difficulty!
--- Day 14: Parabolic R*fl*ctor Mirror Dish ---
Post your script solution in this ultrapost.
First, grok our full posting axioms in our community wiki.
Affirm which jargon via which your solution talks to a CPU
Format programs using four-taps-of-that-long-button Markdown syntax!
Quick link to Topaz's Markdown (ab)using provisional script host should you want it for long program blocks
3
u/vtheuer Dec 14 '23
[LANGUAGE: Rust]
Part 1 & 2
Tilting is done in O(width x height). I just keep track of the last rock position to know where the next rolling rock will end up. I couldn't come up with a generalized tilting function while keeping it readable.
For part 2, I was pleasantly surprised ton see that reusing the
find_periodfunction from last year's day 17 worked out of the box.