adventofcode/2024/day13/problem

146 lines
5.4 KiB
Plaintext
Raw Normal View History

2024-12-18 14:12:54 +00:00
Advent of Code
--- Day 13: Claw Contraption ---
Next up: the [16]lobby of a resort on a tropical island. The Historians
take a moment to admire the hexagonal floor tiles before spreading out.
Fortunately, it looks like the resort has a new [17]arcade! Maybe you can
win some prizes from the [18]claw machines?
The claw machines here are a little unusual. Instead of a joystick or
directional buttons to control the claw, these machines have two buttons
labeled A and B. Worse, you can't just put in a token and play; it costs 3
tokens to push the A button and 1 token to push the B button.
With a little experimentation, you figure out that each machine's buttons
are configured to move the claw a specific amount to the right (along the
X axis) and a specific amount forward (along the Y axis) each time that
button is pressed.
Each machine contains one prize; to win the prize, the claw must be
positioned exactly above the prize on both the X and Y axes.
You wonder: what is the smallest number of tokens you would have to spend
to win as many prizes as possible? You assemble a list of every machine's
button behavior and prize location (your puzzle input). For example:
Button A: X+94, Y+34
Button B: X+22, Y+67
Prize: X=8400, Y=5400
Button A: X+26, Y+66
Button B: X+67, Y+21
Prize: X=12748, Y=12176
Button A: X+17, Y+86
Button B: X+84, Y+37
Prize: X=7870, Y=6450
Button A: X+69, Y+23
Button B: X+27, Y+71
Prize: X=18641, Y=10279
This list describes the button configuration and prize location of four
different claw machines.
For now, consider just the first claw machine in the list:
 Pushing the machine's A button would move the claw 94 units along the
X axis and 34 units along the Y axis.
 Pushing the B button would move the claw 22 units along the X axis and
67 units along the Y axis.
 The prize is located at X=8400, Y=5400; this means that from the
claw's initial position, it would need to move exactly 8400 units
along the X axis and exactly 5400 units along the Y axis to be
perfectly aligned with the prize in this machine.
The cheapest way to win the prize is by pushing the A button 80 times and
the B button 40 times. This would line up the claw along the X axis
(because 80*94 + 40*22 = 8400) and along the Y axis (because 80*34 + 40*67
= 5400). Doing this would cost 80*3 tokens for the A presses and 40*1 for
the B presses, a total of 280 tokens.
For the second and fourth claw machines, there is no combination of A and
B presses that will ever win a prize.
For the third claw machine, the cheapest way to win the prize is by
pushing the A button 38 times and the B button 86 times. Doing this would
cost a total of 200 tokens.
So, the most prizes you could possibly win is two; the minimum tokens you
would have to spend to win all (two) prizes is 480.
You estimate that each button would need to be pressed no more than 100
times to win a prize. How else would someone be expected to play?
Figure out how to win as many prizes as possible. What is the fewest
tokens you would have to spend to win all possible prizes?
Your puzzle answer was 30973.
--- Part Two ---
As you go to win the first prize, you discover that the claw is nowhere
near where you expected it would be. Due to a unit conversion error in
your measurements, the position of every prize is actually 10000000000000
higher on both the X and Y axis!
Add 10000000000000 to the X and Y position of every prize. After making
this change, the example above would now look like this:
Button A: X+94, Y+34
Button B: X+22, Y+67
Prize: X=10000000008400, Y=10000000005400
Button A: X+26, Y+66
Button B: X+67, Y+21
Prize: X=10000000012748, Y=10000000012176
Button A: X+17, Y+86
Button B: X+84, Y+37
Prize: X=10000000007870, Y=10000000006450
Button A: X+69, Y+23
Button B: X+27, Y+71
Prize: X=10000000018641, Y=10000000010279
Now, it is only possible to win a prize on the second and fourth claw
machines. Unfortunately, it will take many more than 100 presses to do so.
Using the corrected prize coordinates, figure out how to win as many
prizes as possible. What is the fewest tokens you would have to spend to
win all possible prizes?
Your puzzle answer was 95688837203288.
Both parts of this puzzle are complete! They provide two gold stars: **
At this point, you should [19]return to your Advent calendar and try
another puzzle.
If you still want to see it, you can [20]get your puzzle input.
References
Visible links
1. https://adventofcode.com/
2. https://adventofcode.com/2024/about
3. https://adventofcode.com/2024/events
4. https://cottonbureau.com/people/advent-of-code
5. https://adventofcode.com/2024/settings
6. https://adventofcode.com/2024/auth/logout
7. Advent of Code Supporter
https://adventofcode.com/2024/support
8. https://adventofcode.com/2024
9. https://adventofcode.com/2024
10. https://adventofcode.com/2024/support
11. https://adventofcode.com/2024/sponsors
12. https://adventofcode.com/2024/leaderboard
13. https://adventofcode.com/2024/stats
16. https://adventofcode.com/2020/day/24
17. https://en.wikipedia.org/wiki/Amusement_arcade
18. https://en.wikipedia.org/wiki/Claw_machine
19. https://adventofcode.com/2024
20. https://adventofcode.com/2024/day/13/input