Roderic Day 4 anni fa
parent
commit
03f51d7e32
1 ha cambiato i file con 17 aggiunte e 0 eliminazioni
  1. +17
    -0
      y2020/p19.py

+ 17
- 0
y2020/p19.py Vedi File

@@ -0,0 +1,17 @@
import re
import sys


def recurse(rule):
return re.sub(r'(\d+)', lambda m: f'({recurse(rules[m.group(1)])})', rule)


text = sys.stdin.read()
rules, stuff = text.split('\n\n')
rules = dict([ln.split(': ') for ln in rules.splitlines()])

ans = 0
rex = re.compile(recurse(rules['0']).replace('"', '').replace(' ', '') + '$')
for line in text.splitlines():
ans += bool(rex.match(line))
print(ans)

Loading…
Annulla
Salva