162 lines
5.0 KiB
Plaintext
162 lines
5.0 KiB
Plaintext
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
|