Module aoc::year2021::day14

source ·
Expand description

§Extended Polymerization

The key insight to this problem is the same as Day 6. We track the total number of each pair as the positions don’t affect the final result.

Fixed sized arrays are used for speed as we know that the elements are limited to 26 values and the possible pairs to 26 * 26 values.

Structs§

Functions§

  • element 🔒
    Convert a single uppercase ASCII character to an index between 0 and 25
  • pair 🔒
    Convert two uppercase ASCII characters to an index between 0 and 675.
  • Count the initial pairs and elements and parse each instruction into a Rule struct.
  • Apply 10 steps.
  • Apply 40 steps.
  • steps 🔒
    Simulate an arbitrary number of steps.

Type Aliases§