Added/updated problems
This commit is contained in:
@@ -2,24 +2,28 @@ Advent of Code
|
||||
|
||||
--- Day 13: Mine Cart Madness ---
|
||||
|
||||
A crop of this size requires significant logistics to transport produce, soil, fertilizer, and so on. The Elves are very busy pushing
|
||||
things around in carts on some kind of rudimentary system of tracks they've come up with.
|
||||
A crop of this size requires significant logistics to transport produce,
|
||||
soil, fertilizer, and so on. The Elves are very busy pushing things around
|
||||
in carts on some kind of rudimentary system of tracks they've come up with.
|
||||
|
||||
Seeing as how cart-and-track systems don't appear in recorded history for another 1000 years, the Elves seem to be making this up as
|
||||
they go along. They haven't even figured out how to avoid collisions yet.
|
||||
Seeing as how cart-and-track systems don't appear in recorded history for
|
||||
another 1000 years, the Elves seem to be making this up as they go along.
|
||||
They haven't even figured out how to avoid collisions yet.
|
||||
|
||||
You map out the tracks (your puzzle input) and see where you can help.
|
||||
|
||||
Tracks consist of straight paths (| and -), curves (/ and \), and intersections (+). Curves connect exactly two perpendicular pieces
|
||||
of track; for example, this is a closed loop:
|
||||
Tracks consist of straight paths (| and -), curves (/ and \), and
|
||||
intersections (+). Curves connect exactly two perpendicular pieces of track;
|
||||
for example, this is a closed loop:
|
||||
|
||||
/----\
|
||||
| |
|
||||
| |
|
||||
\----/
|
||||
|
||||
Intersections occur when two perpendicular paths cross. At an intersection, a cart is capable of turning left, turning right, or
|
||||
continuing straight. Here are two loops connected by two intersections:
|
||||
Intersections occur when two perpendicular paths cross. At an intersection,
|
||||
a cart is capable of turning left, turning right, or continuing straight.
|
||||
Here are two loops connected by two intersections:
|
||||
|
||||
/-----\
|
||||
| |
|
||||
@@ -29,17 +33,23 @@ Advent of Code
|
||||
| |
|
||||
\-----/
|
||||
|
||||
Several carts are also on the tracks. Carts always face either up (^), down (v), left (<), or right (>). (On your initial map, the
|
||||
track under each cart is a straight path matching the direction the cart is facing.)
|
||||
Several carts are also on the tracks. Carts always face either up (^), down
|
||||
(v), left (<), or right (>). (On your initial map, the track under each cart
|
||||
is a straight path matching the direction the cart is facing.)
|
||||
|
||||
Each time a cart has the option to turn (by arriving at any intersection), it turns left the first time, goes straight the second
|
||||
time, turns right the third time, and then repeats those directions starting again with left the fourth time, straight the fifth
|
||||
time, and so on. This process is independent of the particular intersection at which the cart has arrived - that is, the cart has no
|
||||
per-intersection memory.
|
||||
Each time a cart has the option to turn (by arriving at any intersection),
|
||||
it turns left the first time, goes straight the second time, turns right the
|
||||
third time, and then repeats those directions starting again with left the
|
||||
fourth time, straight the fifth time, and so on. This process is independent
|
||||
of the particular intersection at which the cart has arrived - that is, the
|
||||
cart has no per-intersection memory.
|
||||
|
||||
Carts all move at the same speed; they take turns moving a single step at a time. They do this based on their current location: carts
|
||||
on the top row move first (acting from left to right), then carts on the second row move (again from left to right), then carts on
|
||||
the third row, and so on. Once each cart has moved one step, the process repeats; each of these loops is called a tick.
|
||||
Carts all move at the same speed; they take turns moving a single step at a
|
||||
time. They do this based on their current location: carts on the top row
|
||||
move first (acting from left to right), then carts on the second row move
|
||||
(again from left to right), then carts on the third row, and so on. Once
|
||||
each cart has moved one step, the process repeats; each of these loops is
|
||||
called a tick.
|
||||
|
||||
For example, suppose there are two carts on a straight track:
|
||||
|
||||
@@ -51,10 +61,13 @@ Advent of Code
|
||||
^ ^ | | |
|
||||
| | | | |
|
||||
|
||||
First, the top cart moves. It is facing down (v), so it moves down one square. Second, the bottom cart moves. It is facing up (^), so
|
||||
it moves up one square. Because all carts have moved, the first tick ends. Then, the process repeats, starting with the first cart.
|
||||
The first cart moves down, then the second cart moves up - right into the first cart, colliding with it! (The location of the crash
|
||||
is marked with an X.) This ends the second and last tick.
|
||||
First, the top cart moves. It is facing down (v), so it moves down one
|
||||
square. Second, the bottom cart moves. It is facing up (^), so it moves up
|
||||
one square. Because all carts have moved, the first tick ends. Then, the
|
||||
process repeats, starting with the first cart. The first cart moves down,
|
||||
then the second cart moves up - right into the first cart, colliding with
|
||||
it! (The location of the crash is marked with an X.) This ends the second
|
||||
and last tick.
|
||||
|
||||
Here is a longer example:
|
||||
|
||||
@@ -163,9 +176,10 @@ Advent of Code
|
||||
\-+-/ \-+--/
|
||||
\------/
|
||||
|
||||
After following their respective paths for a while, the carts eventually crash. To help prevent crashes, you'd like to know the
|
||||
location of the first crash. Locations are given in X,Y coordinates, where the furthest left column is X=0 and the furthest top row
|
||||
is Y=0:
|
||||
After following their respective paths for a while, the carts eventually
|
||||
crash. To help prevent crashes, you'd like to know the location of the first
|
||||
crash. Locations are given in X,Y coordinates, where the furthest left
|
||||
column is X=0 and the furthest top row is Y=0:
|
||||
|
||||
111
|
||||
0123456789012
|
||||
@@ -182,11 +196,13 @@ Advent of Code
|
||||
|
||||
--- Part Two ---
|
||||
|
||||
There isn't much you can do to prevent crashes in this ridiculous system. However, by predicting the crashes, the Elves know where to
|
||||
be in advance and instantly remove the two crashing carts the moment any crash occurs.
|
||||
There isn't much you can do to prevent crashes in this ridiculous system.
|
||||
However, by predicting the crashes, the Elves know where to be in advance
|
||||
and instantly remove the two crashing carts the moment any crash occurs.
|
||||
|
||||
They can proceed like this for a while, but eventually, they're going to run out of carts. It could be useful to figure out where the
|
||||
last cart that hasn't crashed will end up.
|
||||
They can proceed like this for a while, but eventually, they're going to run
|
||||
out of carts. It could be useful to figure out where the last cart that
|
||||
hasn't crashed will end up.
|
||||
|
||||
For example:
|
||||
|
||||
@@ -222,9 +238,11 @@ Advent of Code
|
||||
| |
|
||||
\---/
|
||||
|
||||
After four very expensive crashes, a tick ends with only one cart remaining; its final location is 6,4.
|
||||
After four very expensive crashes, a tick ends with only one cart remaining;
|
||||
its final location is 6,4.
|
||||
|
||||
What is the location of the last cart at the end of the first tick where it is the only cart left?
|
||||
What is the location of the last cart at the end of the first tick where it
|
||||
is the only cart left?
|
||||
|
||||
Your puzzle answer was 132,26.
|
||||
|
||||
|
Reference in New Issue
Block a user