Files
aocpy/2024/d19.py
2024-12-19 00:22:44 -05:00

31 lines
498 B
Python

from lib import get_data
from functools import cache
data = get_data(__file__)
lines = data.splitlines()
patterns = set(lines[0].split(", "))
@cache
def valid(line):
if line == "":
return 1
r = 0
for j in range(1, len(line) + 1):
sub = line[:j]
if sub in patterns:
r += valid(line[j:])
return r
p1, p2 = 0, 0
lines = lines[2:]
for line in lines:
v = valid(line.strip())
if v > 0:
p1 += 1
p2 += v
print(p1)
print(p2)