diff --git a/day19.py b/day19.py index edb4e69..a417152 100644 --- a/day19.py +++ b/day19.py @@ -51,10 +51,24 @@ def part1(test_mode=False): my_input = aoclib.getMultiLineInputAsArray(day=DAY, test=test_mode) populate_rule_dict(my_input[0]) - valid_messages = set(get_valid_messages("0")) + # split rule 0 to save time + # rule 0 == 8 11 + valid_messages_8 = get_valid_messages("8") + valid_messages_11 = get_valid_messages("11") + len_8 = len(valid_messages_8[0]) + len_11 = len(valid_messages_11[0]) + valid_messages_8 = set(valid_messages_8) + valid_messages_11 = set(valid_messages_11) + counter = 0 for message in my_input[1]: - if message in valid_messages: + if message[:len_8] in valid_messages_8: + message = message[len_8:] + + if message[:len_11] in valid_messages_11: + message = message[len_11:] + + if len(message) == 0: counter += 1 return counter