# AoC 2018 Day 14: Functionally Circular Elfs

### Source: Chocolate Charts

Part 1: Create an infinite stream of numbers, by starting with [3, 7] with two pointers: 0 and 1. To add values to the list:

• Add the current values of the two pointers
• If the value is less than ten, add that value to the end of the list
• If the value is greater or equal to ten, add 1 and then the ones digits to the end of the list
• Update each pointer by adding the value it is pointing at to its current index plus one

With that algorithm, find the ten digits after a given index.

# AoC 2018 Day 13: Mine Cart Madness

Part 1: Load a minecart track that looks like this:

/->-\
|   |  /----\
| /-+--+-\  |
| | |  | v  |
\-+-/  \-+--/
\------/


Assuming minecarts follow the tracks and alternate turning left, going straight, and turning right on each intersection (+), where does the first collision occur?

NOTE: Update carts top to bottom, left to right. Carts can collide mid update.

# AoC 2018 Day 12: Fat Cellular Automaton

### Source: Subterranean Sustainability

Part 1: Create an infinite 2D cellular automaton with transition rules based on two points to each side, starting with initial state at index 0 to the right.

After 20 generations, what is the sum of indexes of points turned on?

# AoC 2018 Day 11: Gridlocked Fuel

### Source: Chronal Charge

Part 1: Define a grid as follows (x,y coordinates + a constant C):

• r(x) = x + 10
• G(x, y) = hundreds(r(x) * (r(x) * y + C)) - 5

Find the 3x3 area in a 300x300 grid with the highest total G(x, y) .

# AoC 2018 Day 10: It's Full of Stars!

### Source: The Stars Align

Part 1: Given a system of moving particles (with position and velocity) find the point where the particles spell a message. What is that message?

# AoC 2018 Day 9: Marble Madness

### Source: Marble Mania

Part 1: Place marbles in a circle such that each marble is placed by skipping one place except for marbles divisible by 23. For those, don’t place them, skip back 7 places, and remove that marble as well. Add these two marbles to your current score.

Given a specific player count and last marble, what’s the highest score?

# AoC 2018 Day 8: Checksum Treeification

### Source: The Sum of Its Parts

Part 1: A custom tree data structure is defined as:

• child count
• child count additional subtrees (recursive)
• metadata count metadata nodes

Calculate the sum of all metadata nodes.

# AoC 2018 Day 7: Job Simulator

### Source: The Sum of Its Parts

Part 1: Given a list of job dependencies (job A must be before job B), determine the order jobs must be done in. Break ties lexicographically.

# AoC 2018 Day 6: Infinite Area Simulator

### Source: Chronal Coordinates

Part 1: Given a list of points, calculate the region of points closest to each point (using Manhattan distance). Return the size of the largest non-infinite region.