2022 Day 5 Complete
This commit is contained in:
161
2022/day05/problem
Normal file
161
2022/day05/problem
Normal file
@@ -0,0 +1,161 @@
|
||||
Advent of Code
|
||||
br0xen (AoC++) 10*
|
||||
|
||||
--- Day 5: Supply Stacks ---
|
||||
|
||||
The expedition can depart as soon as the final supplies have been unloaded from the
|
||||
ships. Supplies are stored in stacks of marked crates, but because the needed supplies
|
||||
are buried under many other crates, the crates need to be rearranged.
|
||||
|
||||
The ship has a giant cargo crane capable of moving crates between stacks. To ensure none
|
||||
of the crates get crushed or fall over, the crane operator will rearrange them in a
|
||||
series of carefully-planned steps. After the crates are rearranged, the desired crates
|
||||
will be at the top of each stack.
|
||||
|
||||
The Elves don't want to interrupt the crane operator during this delicate procedure, but
|
||||
they forgot to ask her which crate will end up where, and they want to be ready to unload
|
||||
them as soon as possible so they can embark.
|
||||
|
||||
They do, however, have a drawing of the starting stacks of crates and the rearrangement
|
||||
procedure (your puzzle input). For example:
|
||||
|
||||
[D]
|
||||
[N] [C]
|
||||
[Z] [M] [P]
|
||||
1 2 3
|
||||
|
||||
move 1 from 2 to 1
|
||||
move 3 from 1 to 3
|
||||
move 2 from 2 to 1
|
||||
move 1 from 1 to 2
|
||||
|
||||
In this example, there are three stacks of crates. Stack 1 contains two crates: crate Z
|
||||
is on the bottom, and crate N is on top. Stack 2 contains three crates; from bottom to
|
||||
top, they are crates M, C, and D. Finally, stack 3 contains a single crate, P.
|
||||
|
||||
Then, the rearrangement procedure is given. In each step of the procedure, a quantity of
|
||||
crates is moved from one stack to a different stack. In the first step of the above
|
||||
rearrangement procedure, one crate is moved from stack 2 to stack 1, resulting in this
|
||||
configuration:
|
||||
|
||||
[D]
|
||||
[N] [C]
|
||||
[Z] [M] [P]
|
||||
1 2 3
|
||||
|
||||
In the second step, three crates are moved from stack 1 to stack 3. Crates are moved one
|
||||
at a time, so the first crate to be moved (D) ends up below the second and third crates:
|
||||
|
||||
[Z]
|
||||
[N]
|
||||
[C] [D]
|
||||
[M] [P]
|
||||
1 2 3
|
||||
|
||||
Then, both crates are moved from stack 2 to stack 1. Again, because crates are moved one
|
||||
at a time, crate C ends up below crate M:
|
||||
|
||||
[Z]
|
||||
[N]
|
||||
[M] [D]
|
||||
[C] [P]
|
||||
1 2 3
|
||||
|
||||
Finally, one crate is moved from stack 1 to stack 2:
|
||||
|
||||
[Z]
|
||||
[N]
|
||||
[D]
|
||||
[C] [M] [P]
|
||||
1 2 3
|
||||
|
||||
The Elves just need to know which crate will end up on top of each stack; in this
|
||||
example, the top crates are C in stack 1, M in stack 2, and Z in stack 3, so you should
|
||||
combine these together and give the Elves the message CMZ.
|
||||
|
||||
After the rearrangement procedure completes, what crate ends up on top of each stack?
|
||||
|
||||
Your puzzle answer was PTWLTDSJV.
|
||||
|
||||
--- Part Two ---
|
||||
|
||||
As you watch the crane operator expertly rearrange the crates, you notice the process
|
||||
isn't following your prediction.
|
||||
|
||||
Some mud was covering the writing on the side of the crane, and you quickly wipe it away.
|
||||
The crane isn't a CrateMover 9000 - it's a CrateMover 9001.
|
||||
|
||||
The CrateMover 9001 is notable for many new and exciting features: air conditioning,
|
||||
leather seats, an extra cup holder, and the ability to pick up and move multiple crates
|
||||
at once.
|
||||
|
||||
Again considering the example above, the crates begin in the same configuration:
|
||||
|
||||
[D]
|
||||
[N] [C]
|
||||
[Z] [M] [P]
|
||||
1 2 3
|
||||
|
||||
Moving a single crate from stack 2 to stack 1 behaves the same as before:
|
||||
|
||||
[D]
|
||||
[N] [C]
|
||||
[Z] [M] [P]
|
||||
1 2 3
|
||||
|
||||
However, the action of moving three crates from stack 1 to stack 3 means that those three
|
||||
moved crates stay in the same order, resulting in this new configuration:
|
||||
|
||||
[D]
|
||||
[N]
|
||||
[C] [Z]
|
||||
[M] [P]
|
||||
1 2 3
|
||||
|
||||
Next, as both crates are moved from stack 2 to stack 1, they retain their order as well:
|
||||
|
||||
[D]
|
||||
[N]
|
||||
[C] [Z]
|
||||
[M] [P]
|
||||
1 2 3
|
||||
|
||||
Finally, a single crate is still moved from stack 1 to stack 2, but now it's crate C that
|
||||
gets moved:
|
||||
|
||||
[D]
|
||||
[N]
|
||||
[Z]
|
||||
[M] [C] [P]
|
||||
1 2 3
|
||||
|
||||
In this example, the CrateMover 9001 has put the crates in a totally different order:
|
||||
MCD.
|
||||
|
||||
Before the rearrangement process finishes, update your simulation so that the Elves know
|
||||
where they should stand to be ready to unload the final supplies. After the rearrangement
|
||||
procedure completes, what crate ends up on top of each stack?
|
||||
|
||||
Your puzzle answer was WZMFVGGZP.
|
||||
|
||||
Both parts of this puzzle are complete! They provide two gold stars: **
|
||||
|
||||
References
|
||||
|
||||
Visible links
|
||||
. https://adventofcode.com/
|
||||
. https://adventofcode.com/2022/about
|
||||
. https://adventofcode.com/2022/events
|
||||
. 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://adventofcode.com/2022
|
||||
. https://adventofcode.com/2022/day/5/input
|
Reference in New Issue
Block a user