367 lines
7.4 KiB
Plaintext
367 lines
7.4 KiB
Plaintext
|
Advent of Code
|
|||
|
|
|||
|
• [About]
|
|||
|
• [Events]
|
|||
|
• [Shop]
|
|||
|
• [Settings]
|
|||
|
• [Log Out]
|
|||
|
|
|||
|
br0xen (AoC++) 41*
|
|||
|
|
|||
|
int y=2022;
|
|||
|
|
|||
|
• [Calendar]
|
|||
|
• [AoC++]
|
|||
|
• [Sponsors]
|
|||
|
• [Leaderboard]
|
|||
|
• [Stats]
|
|||
|
|
|||
|
Our sponsors help make Advent of Code possible:
|
|||
|
Smarty - Join our private leaderboard and solve our
|
|||
|
puzzles for BIG PRIZES!!! ----------------- Address
|
|||
|
Validation and Autocomplete, and more!
|
|||
|
|
|||
|
--- Day 24: Blizzard Basin ---
|
|||
|
|
|||
|
With everything replanted for next year (and with
|
|||
|
elephants and monkeys to tend the grove), you and the
|
|||
|
Elves leave for the extraction point.
|
|||
|
|
|||
|
Partway up the mountain that shields the grove is a
|
|||
|
flat, open area that serves as the extraction point.
|
|||
|
It's a bit of a climb, but nothing the expedition can't
|
|||
|
handle.
|
|||
|
|
|||
|
At least, that would normally be true; now that the
|
|||
|
mountain is covered in snow, things have become more
|
|||
|
difficult than the Elves are used to.
|
|||
|
|
|||
|
As the expedition reaches a valley that must be
|
|||
|
traversed to reach the extraction site, you find that
|
|||
|
strong, turbulent winds are pushing small blizzards of
|
|||
|
snow and sharp ice around the valley. It's a good thing
|
|||
|
everyone packed warm clothes! To make it across safely,
|
|||
|
you'll need to find a way to avoid them.
|
|||
|
|
|||
|
Fortunately, it's easy to see all of this from the
|
|||
|
entrance to the valley, so you make a map of the valley
|
|||
|
and the blizzards (your puzzle input). For example:
|
|||
|
|
|||
|
#.#####
|
|||
|
#.....#
|
|||
|
#>....#
|
|||
|
#.....#
|
|||
|
#...v.#
|
|||
|
#.....#
|
|||
|
#####.#
|
|||
|
|
|||
|
The walls of the valley are drawn as #; everything else
|
|||
|
is ground. Clear ground - where there is currently no
|
|||
|
blizzard - is drawn as .. Otherwise, blizzards are
|
|||
|
drawn with an arrow indicating their direction of
|
|||
|
motion: up (^), down (v), left (<), or right (>).
|
|||
|
|
|||
|
The above map includes two blizzards, one moving right
|
|||
|
(>) and one moving down (v). In one minute, each
|
|||
|
blizzard moves one position in the direction it is
|
|||
|
pointing:
|
|||
|
|
|||
|
#.#####
|
|||
|
#.....#
|
|||
|
#.>...#
|
|||
|
#.....#
|
|||
|
#.....#
|
|||
|
#...v.#
|
|||
|
#####.#
|
|||
|
|
|||
|
Due to conservation of blizzard energy, as a blizzard
|
|||
|
reaches the wall of the valley, a new blizzard forms on
|
|||
|
the opposite side of the valley moving in the same
|
|||
|
direction. After another minute, the bottom
|
|||
|
downward-moving blizzard has been replaced with a new
|
|||
|
downward-moving blizzard at the top of the valley
|
|||
|
instead:
|
|||
|
|
|||
|
#.#####
|
|||
|
#...v.#
|
|||
|
#..>..#
|
|||
|
#.....#
|
|||
|
#.....#
|
|||
|
#.....#
|
|||
|
#####.#
|
|||
|
|
|||
|
Because blizzards are made of tiny snowflakes, they
|
|||
|
pass right through each other. After another minute,
|
|||
|
both blizzards temporarily occupy the same position,
|
|||
|
marked 2:
|
|||
|
|
|||
|
#.#####
|
|||
|
#.....#
|
|||
|
#...2.#
|
|||
|
#.....#
|
|||
|
#.....#
|
|||
|
#.....#
|
|||
|
#####.#
|
|||
|
|
|||
|
After another minute, the situation resolves itself,
|
|||
|
giving each blizzard back its personal space:
|
|||
|
|
|||
|
#.#####
|
|||
|
#.....#
|
|||
|
#....>#
|
|||
|
#...v.#
|
|||
|
#.....#
|
|||
|
#.....#
|
|||
|
#####.#
|
|||
|
|
|||
|
Finally, after yet another minute, the rightward-facing
|
|||
|
blizzard on the right is replaced with a new one on the
|
|||
|
left facing the same direction:
|
|||
|
|
|||
|
#.#####
|
|||
|
#.....#
|
|||
|
#>....#
|
|||
|
#.....#
|
|||
|
#...v.#
|
|||
|
#.....#
|
|||
|
#####.#
|
|||
|
|
|||
|
This process repeats at least as long as you are
|
|||
|
observing it, but probably forever.
|
|||
|
|
|||
|
Here is a more complex example:
|
|||
|
|
|||
|
#.######
|
|||
|
#>>.<^<#
|
|||
|
#.<..<<#
|
|||
|
#>v.><>#
|
|||
|
#<^v^^>#
|
|||
|
######.#
|
|||
|
|
|||
|
Your expedition begins in the only non-wall position in
|
|||
|
the top row and needs to reach the only non-wall
|
|||
|
position in the bottom row. On each minute, you can
|
|||
|
move up, down, left, or right, or you can wait in
|
|||
|
place. You and the blizzards act simultaneously, and
|
|||
|
you cannot share a position with a blizzard.
|
|||
|
|
|||
|
In the above example, the fastest way to reach your
|
|||
|
goal requires 18 steps. Drawing the position of the
|
|||
|
expedition as E, one way to achieve this is:
|
|||
|
|
|||
|
Initial state:
|
|||
|
#E######
|
|||
|
#>>.<^<#
|
|||
|
#.<..<<#
|
|||
|
#>v.><>#
|
|||
|
#<^v^^>#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 1, move down:
|
|||
|
#.######
|
|||
|
#E>3.<.#
|
|||
|
#<..<<.#
|
|||
|
#>2.22.#
|
|||
|
#>v..^<#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 2, move down:
|
|||
|
#.######
|
|||
|
#.2>2..#
|
|||
|
#E^22^<#
|
|||
|
#.>2.^>#
|
|||
|
#.>..<.#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 3, wait:
|
|||
|
#.######
|
|||
|
#<^<22.#
|
|||
|
#E2<.2.#
|
|||
|
#><2>..#
|
|||
|
#..><..#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 4, move up:
|
|||
|
#.######
|
|||
|
#E<..22#
|
|||
|
#<<.<..#
|
|||
|
#<2.>>.#
|
|||
|
#.^22^.#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 5, move right:
|
|||
|
#.######
|
|||
|
#2Ev.<>#
|
|||
|
#<.<..<#
|
|||
|
#.^>^22#
|
|||
|
#.2..2.#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 6, move right:
|
|||
|
#.######
|
|||
|
#>2E<.<#
|
|||
|
#.2v^2<#
|
|||
|
#>..>2>#
|
|||
|
#<....>#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 7, move down:
|
|||
|
#.######
|
|||
|
#.22^2.#
|
|||
|
#<vE<2.#
|
|||
|
#>>v<>.#
|
|||
|
#>....<#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 8, move left:
|
|||
|
#.######
|
|||
|
#.<>2^.#
|
|||
|
#.E<<.<#
|
|||
|
#.22..>#
|
|||
|
#.2v^2.#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 9, move up:
|
|||
|
#.######
|
|||
|
#<E2>>.#
|
|||
|
#.<<.<.#
|
|||
|
#>2>2^.#
|
|||
|
#.v><^.#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 10, move right:
|
|||
|
#.######
|
|||
|
#.2E.>2#
|
|||
|
#<2v2^.#
|
|||
|
#<>.>2.#
|
|||
|
#..<>..#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 11, wait:
|
|||
|
#.######
|
|||
|
#2^E^2>#
|
|||
|
#<v<.^<#
|
|||
|
#..2.>2#
|
|||
|
#.<..>.#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 12, move down:
|
|||
|
#.######
|
|||
|
#>>.<^<#
|
|||
|
#.<E.<<#
|
|||
|
#>v.><>#
|
|||
|
#<^v^^>#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 13, move down:
|
|||
|
#.######
|
|||
|
#.>3.<.#
|
|||
|
#<..<<.#
|
|||
|
#>2E22.#
|
|||
|
#>v..^<#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 14, move right:
|
|||
|
#.######
|
|||
|
#.2>2..#
|
|||
|
#.^22^<#
|
|||
|
#.>2E^>#
|
|||
|
#.>..<.#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 15, move right:
|
|||
|
#.######
|
|||
|
#<^<22.#
|
|||
|
#.2<.2.#
|
|||
|
#><2>E.#
|
|||
|
#..><..#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 16, move right:
|
|||
|
#.######
|
|||
|
#.<..22#
|
|||
|
#<<.<..#
|
|||
|
#<2.>>E#
|
|||
|
#.^22^.#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 17, move down:
|
|||
|
#.######
|
|||
|
#2.v.<>#
|
|||
|
#<.<..<#
|
|||
|
#.^>^22#
|
|||
|
#.2..2E#
|
|||
|
######.#
|
|||
|
|
|||
|
Minute 18, move down:
|
|||
|
#.######
|
|||
|
#>2.<.<#
|
|||
|
#.2v^2<#
|
|||
|
#>..>2>#
|
|||
|
#<....>#
|
|||
|
######E#
|
|||
|
|
|||
|
What is the fewest number of minutes required to avoid
|
|||
|
the blizzards and reach the goal?
|
|||
|
|
|||
|
Your puzzle answer was 240.
|
|||
|
|
|||
|
--- Part Two ---
|
|||
|
|
|||
|
As the expedition reaches the far side of the valley,
|
|||
|
one of the Elves looks especially dismayed:
|
|||
|
|
|||
|
He forgot his snacks at the entrance to the valley!
|
|||
|
|
|||
|
Since you're so good at dodging blizzards, the Elves
|
|||
|
humbly request that you go back for his snacks. From
|
|||
|
the same initial conditions, how quickly can you make
|
|||
|
it from the start to the goal, then back to the start,
|
|||
|
then back to the goal?
|
|||
|
|
|||
|
In the above example, the first trip to the goal takes
|
|||
|
18 minutes, the trip back to the start takes 23
|
|||
|
minutes, and the trip back to the goal again takes 13
|
|||
|
minutes, for a total time of 54 minutes.
|
|||
|
|
|||
|
What is the fewest number of minutes required to reach
|
|||
|
the goal, go back to the start, then reach the goal
|
|||
|
again?
|
|||
|
|
|||
|
Your puzzle answer was 717.
|
|||
|
|
|||
|
Both parts of this puzzle are complete! They provide
|
|||
|
two gold stars: **
|
|||
|
|
|||
|
At this point, you should return to your Advent
|
|||
|
calendar and try another puzzle.
|
|||
|
|
|||
|
If you still want to see it, you can get your puzzle
|
|||
|
input.
|
|||
|
|
|||
|
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://www.smarty.com/advent-of-code
|
|||
|
. https://adventofcode.com/2022
|
|||
|
. https://adventofcode.com/2022/day/24/input
|
|||
|
. https://twitter.com/intent/tweet?text=I%27ve+completed+%22Blizzard+Basin%22+%2D+Day+24+%2D+Advent+of+Code+2022&url=https%3A%2F%2Fadventofcode%2Ecom%2F2022%2Fday%2F24&related=ericwastl&hashtags=AdventOfCode
|
|||
|
. javascript:void(0);
|