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
 |