diff options
Diffstat (limited to 'src/19/part2')
| -rw-r--r-- | src/19/part2 | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/src/19/part2 b/src/19/part2 new file mode 100644 index 0000000..6f056a4 --- /dev/null +++ b/src/19/part2 @@ -0,0 +1,92 @@ +--- Part Two --- + +As you look over the list of messages, you realize your matching rules aren't quite right. To fix +them, completely replace rules 8: 42 and 11: 42 31 with the following: + +8: 42 | 42 8 +11: 42 31 | 42 11 31 + +This small change has a big impact: now, the rules [1m[37mdo[0m contain loops, and the list of +messages they could hypothetically match is infinite. You'll need to determine how these changes +affect which messages are valid. + +Fortunately, many of the rules are unaffected by this change; it might help to start by looking at +which rules always match the same set of values and how [1m[37mthose[0m rules (especially rules +42 and 31) are used by the new versions of rules 8 and 11. + +(Remember, [1m[37myou only need to handle the rules you have[0m; building a solution that could +handle any hypothetical combination of rules would be significantly more difficult.) + +For example: + +42: 9 14 | 10 1 +9: 14 27 | 1 26 +10: 23 14 | 28 1 +1: "a" +11: 42 31 +5: 1 14 | 15 1 +19: 14 1 | 14 14 +12: 24 14 | 19 1 +16: 15 1 | 14 14 +31: 14 17 | 1 13 +6: 14 14 | 1 14 +2: 1 24 | 14 4 +0: 8 11 +13: 14 3 | 1 12 +15: 1 | 14 +17: 14 2 | 1 7 +23: 25 1 | 22 14 +28: 16 1 +4: 1 1 +20: 14 14 | 1 15 +3: 5 14 | 16 1 +27: 1 6 | 14 18 +14: "b" +21: 14 1 | 1 14 +25: 1 1 | 1 14 +22: 14 14 +8: 42 +26: 14 22 | 1 20 +18: 15 15 +7: 14 5 | 1 21 +24: 14 1 + +abbbbbabbbaaaababbaabbbbabababbbabbbbbbabaaaa +bbabbbbaabaabba +babbbbaabbbbbabbbbbbaabaaabaaa +aaabbbbbbaaaabaababaabababbabaaabbababababaaa +bbbbbbbaaaabbbbaaabbabaaa +bbbababbbbaaaaaaaabbababaaababaabab +ababaaaaaabaaab +ababaaaaabbbaba +baabbaaaabbaaaababbaababb +abbbbabbbbaaaababbbbbbaaaababb +aaaaabbaabaaaaababaa +aaaabbaaaabbaaa +aaaabbaabbaaaaaaabbbabbbaaabbaabaaa +babaaabbbaaabaababbaabababaaab +aabbbbbaabbbaaaaaabbbbbababaaaaabbaaabba + +Without updating rules 8 and 11, these rules only match three messages: bbabbbbaabaabba, +ababaaaaaabaaab, and ababaaaaabbbaba. + +However, after updating rules 8 and 11, a total of [1m[37m12[0m messages match: + + + - bbabbbbaabaabba + - babbbbaabbbbbabbbbbbaabaaabaaa + - aaabbbbbbaaaabaababaabababbabaaabbababababaaa + - bbbbbbbaaaabbbbaaabbabaaa + - bbbababbbbaaaaaaaabbababaaababaabab + - ababaaaaaabaaab + - ababaaaaabbbaba + - baabbaaaabbaaaababbaababb + - abbbbabbbbaaaababbbbbbaaaababb + - aaaaabbaabaaaaababaa + - aaaabbaabbaaaaaaabbbabbbaaabbaabaaa + - aabbbbbaabbbaaaaaabbbbbababaaaaabbaaabba + + +[1m[37mAfter updating rules 8 and 11, how many messages completely match rule 0?[0m + + |
