File tree 1 file changed +7
-14
lines changed 1 file changed +7
-14
lines changed Original file line number Diff line number Diff line change 1
1
from GhostyUtils import aoc
2
2
from functools import cache
3
- import re
4
3
5
4
6
- """
7
5
@cache
8
6
def validate (design : str , patterns : frozenset [str ]) -> bool :
9
-
10
7
if design in patterns :
11
- if aoc.args.verbose or aoc.args.progress:
12
- print(f"{design} - found")
13
8
return True
14
9
else :
15
10
# try all splits
16
11
valid = False
17
- for i in range(1, len(design)-1):
12
+ for i in range (1 , len (design )):
13
+ if aoc .args .verbose :
14
+ print (f" trying { design [:i ]} -{ design [i :]} " )
18
15
valid = validate (design [:i ], patterns ) and validate (design [i :], patterns )
19
16
if valid :
20
- break
21
- return valid
17
+ return True
22
18
23
19
return False
24
- """
25
-
26
-
27
- def validate (design : str , patterns : frozenset [str ]) -> bool :
28
- pattern = re .compile (r"^(" + r'|' .join (patterns ) + r")+$" )
29
- return re .match (pattern , design )
30
20
31
21
32
22
def main ():
@@ -44,6 +34,9 @@ def main():
44
34
if aoc .args .verbose or aoc .args .progress :
45
35
print (f"0 - { design } " )
46
36
37
+ if aoc .args .progress :
38
+ print (f"cache: { validate .cache_info ().hits } hits, { validate .cache_info ().misses } misses" )
39
+
47
40
print (f"p1: { valid } " )
48
41
49
42
You can’t perform that action at this time.
0 commit comments