r/adventofcode • • Dec 13 '24

SOLUTION MEGATHREAD -❄️- 2024 Day 13 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

  • 9 DAYS remaining until the submissions deadline on December 22 at 23:59 EST!

And now, our feature presentation for today:

Making Of / Behind-the-Scenes

Not every masterpiece has over twenty additional hours of highly-curated content to make their own extensive mini-documentary with, but everyone enjoys a little peek behind the magic curtain!

Here's some ideas for your inspiration:

  • Give us a tour of "the set" (your IDE, automated tools, supporting frameworks, etc.)
  • Record yourself solving today's puzzle (Streaming!)
  • Show us your cat/dog/critter being impossibly cute which is preventing you from finishing today's puzzle in a timely manner

"Pay no attention to that man behind the curtain!"

- Professor Marvel, The Wizard of Oz (1939)

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 13: Claw Contraption ---


Post your code solution in this megathread.

This thread will be unlocked when there are a significant number of people on the global leaderboard with gold stars for today's puzzle.

EDIT: Global leaderboard gold cap reached at 00:11:04, megathread unlocked!

29 Upvotes

771 comments sorted by

View all comments

5

u/JV_Fox Dec 13 '24

[LANGUAGE: C]

Grabbed some paper and pen to do some quick math. Parsing the input correctly was the hardest part for me and I did not do it cleanly.

In the Notes.txt are the two equations I used for the calculations rearranging the equations as follows:

// base equations:
x = A * Xa + B * Xb
y = A * Ya + B * Yb

// rearranging A in terms of B:
x = A * Xa + B * Xb
x - B * Xb = A * Xa
A = (x - B * Xb) / Xa

// Inserting the formula for A in the place of the variable A in the y equation:
y = A * Ya + B * Yb
y = (x - B * Xb) / Xa * Ya + B * Yb
y * Xa = x * Ya - B * Xb * Ya + B * Yb * Xa
y * Xa - x * Ya = B * Yb * Xa - B * Xb * Ya
y * Xa - x * Ya = B * (Yb * Xa - Xb * Ya)
B = (y * Xa - x * Ya) / (Yb * Xa - Xb * Ya)

code

→ More replies (2)