405 lines
7.6 KiB
Plaintext
405 lines
7.6 KiB
Plaintext
Advent of Code
|
||
|
||
• [About]
|
||
• [Events]
|
||
• [Shop]
|
||
• [Settings]
|
||
• [Log Out]
|
||
|
||
br0xen (AoC++) 32*
|
||
|
||
sub 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 17: Pyroclastic Flow ---
|
||
|
||
Your handheld device has located an alternative exit from the cave for you and the elephants. The ground is
|
||
rumbling almost continuously now, but the strange valves bought you some time. It's definitely getting warmer in
|
||
here, though.
|
||
|
||
The tunnels eventually open into a very tall, narrow chamber. Large, oddly-shaped rocks are falling into the
|
||
chamber from above, presumably due to all the rumbling. If you can't work out where the rocks will fall next, you
|
||
might be crushed!
|
||
|
||
The five types of rocks have the following peculiar shapes, where # is rock and . is empty space:
|
||
|
||
####
|
||
|
||
.#.
|
||
###
|
||
.#.
|
||
|
||
..#
|
||
..#
|
||
###
|
||
|
||
#
|
||
#
|
||
#
|
||
#
|
||
|
||
##
|
||
##
|
||
|
||
The rocks fall in the order shown above: first the - shape, then the + shape, and so on. Once the end of the list
|
||
is reached, the same order repeats: the - shape falls first, sixth, 11th, 16th, etc.
|
||
|
||
The rocks don't spin, but they do get pushed around by jets of hot gas coming out of the walls themselves. A quick
|
||
scan reveals the effect the jets of hot gas will have on the rocks as they fall (your puzzle input).
|
||
|
||
For example, suppose this was the jet pattern in your cave:
|
||
|
||
>>><<><>><<<>><>>><<<>>><<<><<<>><>><<>>
|
||
|
||
In jet patterns, < means a push to the left, while > means a push to the right. The pattern above means that the
|
||
jets will push a falling rock right, then right, then right, then left, then left, then right, and so on. If the
|
||
end of the list is reached, it repeats.
|
||
|
||
The tall, vertical chamber is exactly seven units wide. Each rock appears so that its left edge is two units away
|
||
from the left wall and its bottom edge is three units above the highest rock in the room (or the floor, if there
|
||
isn't one).
|
||
|
||
After a rock appears, it alternates between being pushed by a jet of hot gas one unit (in the direction indicated
|
||
by the next symbol in the jet pattern) and then falling one unit down. If any movement would cause any part of the
|
||
rock to move into the walls, floor, or a stopped rock, the movement instead does not occur. If a downward movement
|
||
would have caused a falling rock to move into the floor or an already-fallen rock, the falling rock stops where it
|
||
is (having landed on something) and a new rock immediately begins falling.
|
||
|
||
Drawing falling rocks with @ and stopped rocks with #, the jet pattern in the example above manifests as follows:
|
||
|
||
The first rock begins falling:
|
||
|..@@@@.|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
+-------+
|
||
|
||
Jet of gas pushes rock right:
|
||
|...@@@@|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
+-------+
|
||
|
||
Rock falls 1 unit:
|
||
|...@@@@|
|
||
|.......|
|
||
|.......|
|
||
+-------+
|
||
|
||
Jet of gas pushes rock right, but nothing happens:
|
||
|...@@@@|
|
||
|.......|
|
||
|.......|
|
||
+-------+
|
||
|
||
Rock falls 1 unit:
|
||
|...@@@@|
|
||
|.......|
|
||
+-------+
|
||
|
||
Jet of gas pushes rock right, but nothing happens:
|
||
|...@@@@|
|
||
|.......|
|
||
+-------+
|
||
|
||
Rock falls 1 unit:
|
||
|...@@@@|
|
||
+-------+
|
||
|
||
Jet of gas pushes rock left:
|
||
|..@@@@.|
|
||
+-------+
|
||
|
||
Rock falls 1 unit, causing it to come to rest:
|
||
|..####.|
|
||
+-------+
|
||
|
||
A new rock begins falling:
|
||
|...@...|
|
||
|..@@@..|
|
||
|...@...|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
|..####.|
|
||
+-------+
|
||
|
||
Jet of gas pushes rock left:
|
||
|..@....|
|
||
|.@@@...|
|
||
|..@....|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
|..####.|
|
||
+-------+
|
||
|
||
Rock falls 1 unit:
|
||
|..@....|
|
||
|.@@@...|
|
||
|..@....|
|
||
|.......|
|
||
|.......|
|
||
|..####.|
|
||
+-------+
|
||
|
||
Jet of gas pushes rock right:
|
||
|...@...|
|
||
|..@@@..|
|
||
|...@...|
|
||
|.......|
|
||
|.......|
|
||
|..####.|
|
||
+-------+
|
||
|
||
Rock falls 1 unit:
|
||
|...@...|
|
||
|..@@@..|
|
||
|...@...|
|
||
|.......|
|
||
|..####.|
|
||
+-------+
|
||
|
||
Jet of gas pushes rock left:
|
||
|..@....|
|
||
|.@@@...|
|
||
|..@....|
|
||
|.......|
|
||
|..####.|
|
||
+-------+
|
||
|
||
Rock falls 1 unit:
|
||
|..@....|
|
||
|.@@@...|
|
||
|..@....|
|
||
|..####.|
|
||
+-------+
|
||
|
||
Jet of gas pushes rock right:
|
||
|...@...|
|
||
|..@@@..|
|
||
|...@...|
|
||
|..####.|
|
||
+-------+
|
||
|
||
Rock falls 1 unit, causing it to come to rest:
|
||
|...#...|
|
||
|..###..|
|
||
|...#...|
|
||
|..####.|
|
||
+-------+
|
||
|
||
A new rock begins falling:
|
||
|....@..|
|
||
|....@..|
|
||
|..@@@..|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
|...#...|
|
||
|..###..|
|
||
|...#...|
|
||
|..####.|
|
||
+-------+
|
||
|
||
The moment each of the next few rocks begins falling, you would see this:
|
||
|
||
|..@....|
|
||
|..@....|
|
||
|..@....|
|
||
|..@....|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
|..#....|
|
||
|..#....|
|
||
|####...|
|
||
|..###..|
|
||
|...#...|
|
||
|..####.|
|
||
+-------+
|
||
|
||
|..@@...|
|
||
|..@@...|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
|....#..|
|
||
|..#.#..|
|
||
|..#.#..|
|
||
|#####..|
|
||
|..###..|
|
||
|...#...|
|
||
|..####.|
|
||
+-------+
|
||
|
||
|..@@@@.|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
|....##.|
|
||
|....##.|
|
||
|....#..|
|
||
|..#.#..|
|
||
|..#.#..|
|
||
|#####..|
|
||
|..###..|
|
||
|...#...|
|
||
|..####.|
|
||
+-------+
|
||
|
||
|...@...|
|
||
|..@@@..|
|
||
|...@...|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
|.####..|
|
||
|....##.|
|
||
|....##.|
|
||
|....#..|
|
||
|..#.#..|
|
||
|..#.#..|
|
||
|#####..|
|
||
|..###..|
|
||
|...#...|
|
||
|..####.|
|
||
+-------+
|
||
|
||
|....@..|
|
||
|....@..|
|
||
|..@@@..|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
|..#....|
|
||
|.###...|
|
||
|..#....|
|
||
|.####..|
|
||
|....##.|
|
||
|....##.|
|
||
|....#..|
|
||
|..#.#..|
|
||
|..#.#..|
|
||
|#####..|
|
||
|..###..|
|
||
|...#...|
|
||
|..####.|
|
||
+-------+
|
||
|
||
|..@....|
|
||
|..@....|
|
||
|..@....|
|
||
|..@....|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
|.....#.|
|
||
|.....#.|
|
||
|..####.|
|
||
|.###...|
|
||
|..#....|
|
||
|.####..|
|
||
|....##.|
|
||
|....##.|
|
||
|....#..|
|
||
|..#.#..|
|
||
|..#.#..|
|
||
|#####..|
|
||
|..###..|
|
||
|...#...|
|
||
|..####.|
|
||
+-------+
|
||
|
||
|..@@...|
|
||
|..@@...|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
|....#..|
|
||
|....#..|
|
||
|....##.|
|
||
|....##.|
|
||
|..####.|
|
||
|.###...|
|
||
|..#....|
|
||
|.####..|
|
||
|....##.|
|
||
|....##.|
|
||
|....#..|
|
||
|..#.#..|
|
||
|..#.#..|
|
||
|#####..|
|
||
|..###..|
|
||
|...#...|
|
||
|..####.|
|
||
+-------+
|
||
|
||
|..@@@@.|
|
||
|.......|
|
||
|.......|
|
||
|.......|
|
||
|....#..|
|
||
|....#..|
|
||
|....##.|
|
||
|##..##.|
|
||
|######.|
|
||
|.###...|
|
||
|..#....|
|
||
|.####..|
|
||
|....##.|
|
||
|....##.|
|
||
|....#..|
|
||
|..#.#..|
|
||
|..#.#..|
|
||
|#####..|
|
||
|..###..|
|
||
|...#...|
|
||
|..####.|
|
||
+-------+
|
||
|
||
To prove to the elephants your simulation is accurate, they want to know how tall the tower will get after 2022
|
||
rocks have stopped (but before the 2023rd rock begins falling). In this example, the tower of rocks will be 3068
|
||
units tall.
|
||
|
||
How many units tall will the tower of rocks be after 2022 rocks have stopped falling?
|
||
|
||
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://www.smarty.com/advent-of-code
|
||
. https://adventofcode.com/2022/day/17/input
|
||
. https://twitter.com/intent/tweet?text=%22Pyroclastic+Flow%22+%2D+Day+17+%2D+Advent+of+Code+2022&url=https%3A%2F%2Fadventofcode%2Ecom%2F2022%2Fday%2F17&related=ericwastl&hashtags=AdventOfCode
|
||
. javascript:void(0);
|