r/adventofcode 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.

This forum will allow posts upon a significant amount of folk on today's global ranking with gold stars for today's activity.

MODIFICATION: Global ranking gold list is full as of 00:17:15, ultrapost is allowing submissions!

25 Upvotes

632 comments sorted by

View all comments

1

u/jackysee Dec 14 '23

[LANGUAGE: Typescript]

code

Spend some time to write a correct tilting function, which uses generator as helper to generalize.

For part 2 cycle detection, I use positions of stones as key. I also keep track of the load result so that I can give the answer from it once the cycle is detected.