AoC 2023 Day 22: Block Dropinator

Source: Day 22: Sand Slabs

Full solution for today (spoilers!)

Part 1

Given a series of 3D blocks, allow them to fall until the simulation is stable. Any cube of a block is sufficient to support another block, ignore rotations etc.

How many blocks are not the sole supporter for any other block?

read more...


AoC 2023 Day 20: Flip-Flopinator

Source: Day 20: Pulse Propagation

Full solution for today (spoilers!)

Part 1

Simulate a virtual circuit with high and low pulses and four kinds of chips:

  • Broadcast - Re-transmit all pulses
  • Flip-flops - On a low pulse, toggle internal state; if it was on, send high; otherwise send low
  • Conjunction - Remember input from each attached module; if all inputs were high, send a low, otherwise send high
  • Output - Do nothing; just receive pulses

Count the product of low and high pulses sent after 1000 low inputs to broadcaster.

read more...


AoC 2023 Day 19: Assembly Lininator

Source: Day 19: Aplenty

Full solution for today (spoilers!)

Part 1

You are given a series of parts with 4 ratings as such:

{x=787,m=2655,a=1222,s=2876}

In addition, you are given a series of rules describing a graph as such:

px{a<2006:qkq,m>2090:A,rfg}

In this example, if you are at the node px, if a < 2006, move to qkq. Otherwise, if m > 2090 move to A. If no other case matches, the last defaults to rfg.

A and R are special cases for accept and reject.

Calculate the sum of sum of all four ratings for all nodes that end at Accept.

read more...


AoC 2023 Day 16: Reflectinator

Source: Day 16: The Floor Will Be Lava

Full solution for today (spoilers!)

Part 1

You are given a grid of mirrors (|-\/) and empty space (.).

Diagonal mirrors just relect the light.

The horizontal and vertical mirrors are splitters, light hitting them head on (like >|) will split to go both directions. Light hitting edge on will just go through it.

Starting in the top left going East, how many total tiles will a light beam illuminate?

read more...