103 lines
4.0 KiB
Plaintext
103 lines
4.0 KiB
Plaintext
Advent of Code
|
||
|
||
• [About]
|
||
• [Events]
|
||
• [Shop]
|
||
• [Settings]
|
||
• [Log Out]
|
||
|
||
br0xen (AoC++) 35*
|
||
|
||
/*2022*/
|
||
|
||
• [Calendar]
|
||
• [AoC++]
|
||
• [Sponsors]
|
||
• [Leaderboard]
|
||
• [Stats]
|
||
|
||
Our sponsors help make Advent of Code possible:
|
||
Teradyne - Do you like coding algorithms where milliseconds matter? What about nanoseconds?
|
||
|
||
--- Day 21: Monkey Math ---
|
||
|
||
The monkeys are back! You're worried they're going to try to steal your stuff again, but it seems like they're just
|
||
holding their ground and making various monkey noises at you.
|
||
|
||
Eventually, one of the elephants realizes you don't speak monkey and comes over to interpret. As it turns out, they
|
||
overheard you talking about trying to find the grove; they can show you a shortcut if you answer their riddle.
|
||
|
||
Each monkey is given a job: either to yell a specific number or to yell the result of a math operation. All of the
|
||
number-yelling monkeys know their number from the start; however, the math operation monkeys need to wait for two other
|
||
monkeys to yell a number, and those two other monkeys might also be waiting on other monkeys.
|
||
|
||
Your job is to work out the number the monkey named root will yell before the monkeys figure it out themselves.
|
||
|
||
For example:
|
||
|
||
root: pppw + sjmn
|
||
dbpl: 5
|
||
cczh: sllz + lgvd
|
||
zczc: 2
|
||
ptdq: humn - dvpt
|
||
dvpt: 3
|
||
lfqf: 4
|
||
humn: 5
|
||
ljgn: 2
|
||
sjmn: drzm * dbpl
|
||
sllz: 4
|
||
pppw: cczh / lfqf
|
||
lgvd: ljgn * ptdq
|
||
drzm: hmdt - zczc
|
||
hmdt: 32
|
||
|
||
Each line contains the name of a monkey, a colon, and then the job of that monkey:
|
||
|
||
• A lone number means the monkey's job is simply to yell that number.
|
||
• A job like aaaa + bbbb means the monkey waits for monkeys aaaa and bbbb to yell each of their numbers; the monkey
|
||
then yells the sum of those two numbers.
|
||
• aaaa - bbbb means the monkey yells aaaa's number minus bbbb's number.
|
||
• Job aaaa * bbbb will yell aaaa's number multiplied by bbbb's number.
|
||
• Job aaaa / bbbb will yell aaaa's number divided by bbbb's number.
|
||
|
||
So, in the above example, monkey drzm has to wait for monkeys hmdt and zczc to yell their numbers. Fortunately, both
|
||
hmdt and zczc have jobs that involve simply yelling a single number, so they do this immediately: 32 and 2. Monkey drzm
|
||
can then yell its number by finding 32 minus 2: 30.
|
||
|
||
Then, monkey sjmn has one of its numbers (30, from monkey drzm), and already has its other number, 5, from dbpl. This
|
||
allows it to yell its own number by finding 30 multiplied by 5: 150.
|
||
|
||
This process continues until root yells a number: 152.
|
||
|
||
However, your actual situation involves considerably more monkeys. What number will the monkey named root yell?
|
||
|
||
To begin, get your puzzle input.
|
||
|
||
Answer: _____________________ [ [Submit] ]
|
||
|
||
You can also [Shareon Twitter Mastodon] this puzzle.
|
||
|
||
References
|
||
|
||
Visible links
|
||
. https://adventofcode.com/
|
||
. https://adventofcode.com/2022/about
|
||
. https://adventofcode.com/2022/events
|
||
. https://teespring.com/stores/advent-of-code
|
||
. https://adventofcode.com/2022/settings
|
||
. https://adventofcode.com/2022/auth/logout
|
||
. Advent of Code Supporter
|
||
https://adventofcode.com/2022/support
|
||
. https://adventofcode.com/2022
|
||
. https://adventofcode.com/2022
|
||
. https://adventofcode.com/2022/support
|
||
. https://adventofcode.com/2022/sponsors
|
||
. https://adventofcode.com/2022/leaderboard
|
||
. https://adventofcode.com/2022/stats
|
||
. https://adventofcode.com/2022/sponsors
|
||
. https://jobs.teradyne.com/?utm_source=adventofcode&utm_medium=ad&utm_campaign=2022
|
||
. https://adventofcode.com/2022/day/11
|
||
. https://adventofcode.com/2022/day/21/input
|
||
. https://twitter.com/intent/tweet?text=%22Monkey+Math%22+%2D+Day+21+%2D+Advent+of+Code+2022&url=https%3A%2F%2Fadventofcode%2Ecom%2F2022%2Fday%2F21&related=ericwastl&hashtags=AdventOfCode
|
||
. javascript:void(0);
|