120 lines
4.7 KiB
Plaintext
120 lines
4.7 KiB
Plaintext
|
Advent of Code
|
|||
|
|
|||
|
--- Day 7: Bridge Repair ---
|
|||
|
|
|||
|
The Historians take you to a familiar [16]rope bridge over a river in the
|
|||
|
middle of a jungle. The Chief isn't on this side of the bridge, though;
|
|||
|
maybe he's on the other side?
|
|||
|
|
|||
|
When you go to cross the bridge, you notice a group of engineers trying to
|
|||
|
repair it. (Apparently, it breaks pretty frequently.) You won't be able to
|
|||
|
cross until it's fixed.
|
|||
|
|
|||
|
You ask how long it'll take; the engineers tell you that it only needs
|
|||
|
final calibrations, but some young elephants were playing nearby and stole
|
|||
|
all the operators from their calibration equations! They could finish the
|
|||
|
calibrations if only someone could determine which test values could
|
|||
|
possibly be produced by placing any combination of operators into their
|
|||
|
calibration equations (your puzzle input).
|
|||
|
|
|||
|
For example:
|
|||
|
|
|||
|
190: 10 19
|
|||
|
3267: 81 40 27
|
|||
|
83: 17 5
|
|||
|
156: 15 6
|
|||
|
7290: 6 8 6 15
|
|||
|
161011: 16 10 13
|
|||
|
192: 17 8 14
|
|||
|
21037: 9 7 18 13
|
|||
|
292: 11 6 16 20
|
|||
|
|
|||
|
Each line represents a single equation. The test value appears before the
|
|||
|
colon on each line; it is your job to determine whether the remaining
|
|||
|
numbers can be combined with operators to produce the test value.
|
|||
|
|
|||
|
Operators are always evaluated left-to-right, not according to precedence
|
|||
|
rules. Furthermore, numbers in the equations cannot be rearranged.
|
|||
|
Glancing into the jungle, you can see elephants holding two different
|
|||
|
types of operators: add (+) and multiply (*).
|
|||
|
|
|||
|
Only three of the above equations can be made true by inserting operators:
|
|||
|
|
|||
|
• 190: 10 19 has only one position that accepts an operator: between 10
|
|||
|
and 19. Choosing + would give 29, but choosing * would give the test
|
|||
|
value (10 * 19 = 190).
|
|||
|
• 3267: 81 40 27 has two positions for operators. Of the four possible
|
|||
|
configurations of the operators, two cause the right side to match the
|
|||
|
test value: 81 + 40 * 27 and 81 * 40 + 27 both equal 3267 (when
|
|||
|
evaluated left-to-right)!
|
|||
|
• 292: 11 6 16 20 can be solved in exactly one way: 11 + 6 * 16 + 20.
|
|||
|
|
|||
|
The engineers just need the total calibration result, which is the sum of
|
|||
|
the test values from just the equations that could possibly be true. In
|
|||
|
the above example, the sum of the test values for the three equations
|
|||
|
listed above is 3749.
|
|||
|
|
|||
|
Determine which equations could possibly be true. What is their total
|
|||
|
calibration result?
|
|||
|
|
|||
|
Your puzzle answer was 5030892084481.
|
|||
|
|
|||
|
--- Part Two ---
|
|||
|
|
|||
|
The engineers seem concerned; the total calibration result you gave them
|
|||
|
is nowhere close to being within safety tolerances. Just then, you spot
|
|||
|
your mistake: some well-hidden elephants are holding a third type of
|
|||
|
operator.
|
|||
|
|
|||
|
The [17]concatenation operator (||) combines the digits from its left and
|
|||
|
right inputs into a single number. For example, 12 || 345 would become
|
|||
|
12345. All operators are still evaluated left-to-right.
|
|||
|
|
|||
|
Now, apart from the three equations that could be made true using only
|
|||
|
addition and multiplication, the above example has three more equations
|
|||
|
that can be made true by inserting operators:
|
|||
|
|
|||
|
• 156: 15 6 can be made true through a single concatenation: 15 || 6 =
|
|||
|
156.
|
|||
|
• 7290: 6 8 6 15 can be made true using 6 * 8 || 6 * 15.
|
|||
|
• 192: 17 8 14 can be made true using 17 || 8 + 14.
|
|||
|
|
|||
|
Adding up all six test values (the three that could be made before using
|
|||
|
only + and * plus the new three that can now be made by also using ||)
|
|||
|
produces the new total calibration result of 11387.
|
|||
|
|
|||
|
Using your new knowledge of elephant hiding spots, determine which
|
|||
|
equations could possibly be true. What is their total calibration result?
|
|||
|
|
|||
|
Your puzzle answer was 91377448644679.
|
|||
|
|
|||
|
Both parts of this puzzle are complete! They provide two gold stars: **
|
|||
|
|
|||
|
At this point, you should [18]return to your Advent calendar and try
|
|||
|
another puzzle.
|
|||
|
|
|||
|
If you still want to see it, you can [19]get your puzzle input.
|
|||
|
|
|||
|
You can also [Shareon [20]Bluesky [21]Twitter [22]Mastodon] this puzzle.
|
|||
|
|
|||
|
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
|
|||
|
12. https://adventofcode.com/2024/leaderboard
|
|||
|
13. https://adventofcode.com/2024/stats
|
|||
|
16. https://adventofcode.com/2022/day/9
|
|||
|
17. https://en.wikipedia.org/wiki/Concatenation
|
|||
|
18. https://adventofcode.com/2024
|
|||
|
19. https://adventofcode.com/2024/day/7/input
|