Day 19 - Advent of Code 2015
Working solutions for the day 19 puzzles.
Part One
""" day_19_01.py """
# usage: python3 day_19_01.py < input
def generate(seed_molecule, rules_arg):
""" produce next molecules from seed molecule using rules """
next_molecules = set()
for key, value in rules_arg:
start = 0
while True:
i = seed_molecule.find(key, start)
if i == -1:
break
next_molecules.add(seed_molecule[:i] + value +
seed_molecule[i + len(key):])
start = i + len(key)
return next_molecules
rules = []
while rule := input():
rules.append(rule.split(' => '))
molecule = input()
molecules = generate(molecule, rules)
print(len(molecules))
Part Two