mirror of
https://github.com/bertptrs/adventofcode.git
synced 2025-12-25 21:00:31 +01:00
Implementation day 19.
This commit is contained in:
626
2020/inputs/19.txt
Normal file
626
2020/inputs/19.txt
Normal file
@@ -0,0 +1,626 @@
|
|||||||
|
25: 53 116
|
||||||
|
122: 116 92 | 53 53
|
||||||
|
100: 53 73 | 116 125
|
||||||
|
111: 67 116 | 91 53
|
||||||
|
71: 116 58 | 53 78
|
||||||
|
55: 116 54 | 53 21
|
||||||
|
123: 53 97 | 116 108
|
||||||
|
104: 56 116 | 125 53
|
||||||
|
19: 125 53
|
||||||
|
56: 116 116 | 116 53
|
||||||
|
60: 116 121 | 53 59
|
||||||
|
75: 53 20 | 116 124
|
||||||
|
6: 53 131 | 116 33
|
||||||
|
62: 53 53 | 116 116
|
||||||
|
101: 116 127 | 53 26
|
||||||
|
128: 116 125 | 53 93
|
||||||
|
34: 53 28 | 116 125
|
||||||
|
65: 63 116 | 135 53
|
||||||
|
50: 32 53 | 76 116
|
||||||
|
2: 53 10 | 116 132
|
||||||
|
133: 28 53 | 131 116
|
||||||
|
85: 53 131
|
||||||
|
125: 116 53
|
||||||
|
118: 87 116 | 3 53
|
||||||
|
135: 73 53 | 125 116
|
||||||
|
28: 53 53
|
||||||
|
110: 116 122 | 53 56
|
||||||
|
91: 5 53 | 74 116
|
||||||
|
73: 92 116 | 53 53
|
||||||
|
80: 15 116 | 109 53
|
||||||
|
124: 128 116 | 17 53
|
||||||
|
87: 92 53 | 53 116
|
||||||
|
43: 116 27 | 53 37
|
||||||
|
66: 46 53 | 93 116
|
||||||
|
106: 116 77 | 53 83
|
||||||
|
137: 72 116 | 104 53
|
||||||
|
93: 116 116 | 53 116
|
||||||
|
129: 92 103
|
||||||
|
12: 116 56 | 53 131
|
||||||
|
45: 53 132 | 116 12
|
||||||
|
102: 65 116 | 2 53
|
||||||
|
24: 116 101 | 53 95
|
||||||
|
14: 116 84 | 53 29
|
||||||
|
57: 93 116 | 56 53
|
||||||
|
70: 108 116 | 100 53
|
||||||
|
51: 116 1 | 53 68
|
||||||
|
26: 73 53
|
||||||
|
15: 116 93 | 53 125
|
||||||
|
42: 53 134 | 116 106
|
||||||
|
79: 116 33 | 53 122
|
||||||
|
5: 116 125 | 53 3
|
||||||
|
74: 53 122 | 116 73
|
||||||
|
18: 93 53 | 87 116
|
||||||
|
20: 47 53 | 17 116
|
||||||
|
114: 116 85 | 53 118
|
||||||
|
37: 53 73 | 116 87
|
||||||
|
47: 116 73 | 53 125
|
||||||
|
107: 116 3 | 53 46
|
||||||
|
69: 53 25 | 116 125
|
||||||
|
32: 53 28 | 116 93
|
||||||
|
76: 3 53 | 125 116
|
||||||
|
38: 92 33
|
||||||
|
119: 116 39 | 53 80
|
||||||
|
8: 42
|
||||||
|
21: 125 53 | 125 116
|
||||||
|
58: 75 116 | 119 53
|
||||||
|
64: 116 44 | 53 113
|
||||||
|
68: 90 53 | 45 116
|
||||||
|
1: 23 116 | 60 53
|
||||||
|
53: "a"
|
||||||
|
81: 73 53 | 33 116
|
||||||
|
86: 116 129 | 53 35
|
||||||
|
90: 110 116 | 13 53
|
||||||
|
82: 53 93 | 116 25
|
||||||
|
95: 99 116 | 66 53
|
||||||
|
27: 116 56 | 53 3
|
||||||
|
120: 116 51 | 53 40
|
||||||
|
126: 116 96 | 53 52
|
||||||
|
116: "b"
|
||||||
|
84: 116 123 | 53 49
|
||||||
|
134: 116 61 | 53 14
|
||||||
|
78: 116 102 | 53 86
|
||||||
|
96: 130 53 | 98 116
|
||||||
|
10: 87 116 | 33 53
|
||||||
|
88: 53 116 | 116 92
|
||||||
|
40: 126 53 | 24 116
|
||||||
|
127: 56 116
|
||||||
|
59: 87 53 | 3 116
|
||||||
|
11: 42 31
|
||||||
|
41: 116 137 | 53 16
|
||||||
|
44: 116 22 | 53 79
|
||||||
|
109: 88 53 | 87 116
|
||||||
|
49: 136 116 | 94 53
|
||||||
|
113: 107 116 | 81 53
|
||||||
|
77: 116 64 | 53 36
|
||||||
|
3: 53 116 | 53 53
|
||||||
|
9: 133 53 | 112 116
|
||||||
|
98: 92 93
|
||||||
|
117: 3 92
|
||||||
|
39: 53 19 | 116 21
|
||||||
|
16: 6 116 | 117 53
|
||||||
|
132: 131 116 | 125 53
|
||||||
|
63: 116 122 | 53 33
|
||||||
|
22: 131 116 | 56 53
|
||||||
|
89: 116 125 | 53 131
|
||||||
|
115: 55 53 | 50 116
|
||||||
|
99: 116 33 | 53 93
|
||||||
|
92: 116 | 53
|
||||||
|
121: 53 73 | 116 56
|
||||||
|
13: 73 92
|
||||||
|
103: 53 3 | 116 62
|
||||||
|
83: 111 116 | 41 53
|
||||||
|
61: 105 116 | 115 53
|
||||||
|
130: 56 92
|
||||||
|
136: 33 116 | 125 53
|
||||||
|
30: 53 76 | 116 7
|
||||||
|
94: 92 87
|
||||||
|
52: 97 116 | 18 53
|
||||||
|
7: 116 28 | 53 46
|
||||||
|
97: 25 53 | 33 116
|
||||||
|
35: 89 116 | 82 53
|
||||||
|
72: 53 131 | 116 87
|
||||||
|
48: 34 116 | 38 53
|
||||||
|
54: 116 46 | 53 131
|
||||||
|
131: 116 116
|
||||||
|
23: 116 4 | 53 57
|
||||||
|
31: 116 71 | 53 120
|
||||||
|
29: 116 30 | 53 114
|
||||||
|
108: 116 25 | 53 46
|
||||||
|
33: 92 92
|
||||||
|
4: 131 116 | 3 53
|
||||||
|
36: 70 116 | 9 53
|
||||||
|
67: 69 116 | 117 53
|
||||||
|
0: 8 11
|
||||||
|
105: 48 116 | 43 53
|
||||||
|
46: 116 53 | 53 116
|
||||||
|
17: 93 116 | 122 53
|
||||||
|
112: 122 53 | 3 116
|
||||||
|
|
||||||
|
babbbbabaabaaabbbbbaaabbbbababba
|
||||||
|
ababaaaaabbbabbbbbabbbba
|
||||||
|
aabbaabaabbababaababbaba
|
||||||
|
bbbbabaaabaaabbbbbbbbaab
|
||||||
|
babbbabababaabbaaaabbbba
|
||||||
|
bbaabbababbaaabaaaababbbabaaaaaaaaaaababbaabbbbaaaaaaabaabababbbbabbbaababbbaabbbbababab
|
||||||
|
babbabbabbaababbbbbbbaab
|
||||||
|
baababababbaababaaabaaab
|
||||||
|
aababaababbaaaabbbababbbbbbbbbaabbbbabbbbbabbababbababaabaabaaaabbabaaaaabbaaaaa
|
||||||
|
baabbbbaaabbabbbababbbba
|
||||||
|
baabbabaaaaababbaababbbbaababaaabbbbbaaabababaab
|
||||||
|
babbabbabaabbabbaabbabaa
|
||||||
|
baaabbbbabbaaabbaaaaaabbbbabaaba
|
||||||
|
abababbaaabaabbbabbbaaaa
|
||||||
|
ababababbbbaaaababaabaaa
|
||||||
|
baaababbbbbabababbbaaabaaaabaababaaabbbbaaabbbbaabbaabbbabbbaaab
|
||||||
|
babaaabaabbabaababbabaaaabbbaaaa
|
||||||
|
ababaaabaabaabaabbbbababbbaabababaababaaabaabbbb
|
||||||
|
abbaaaabaabababaabaabbaa
|
||||||
|
baaaaaabaaaaababbababaaa
|
||||||
|
aabaaabbababaabbbaaabbbbaabbbaaa
|
||||||
|
baaabbbaaaaaaaaaaabbbbba
|
||||||
|
abbbbbabbbbabaabaabbbbabbbaabaabaabbbbbb
|
||||||
|
baabbbababababbabbaaaaaaabbbaabbbababbbaababaaaaaabbbbaa
|
||||||
|
bbbbbbbbabababaabaaabbbabbaaabbbaaaaaabaabbaabbabbabbbba
|
||||||
|
abaabbabaabaaaaabaabaaaa
|
||||||
|
aabababbababaaaaabbbbbaa
|
||||||
|
bbbabbaaabaaaababababbbabbbaabab
|
||||||
|
aabababbaabbbababaabaaab
|
||||||
|
aabaaababaabbabaaabaaaab
|
||||||
|
abbbabaabbaabbabaaabbbba
|
||||||
|
baaabbbbaababbabbbbabbaabaabbbbbabbbbabbbabbaaba
|
||||||
|
bbaaababaabaaabbabbbbbabbabaaabbbbaabbbbaabbbaaabbabbabb
|
||||||
|
baabaabaaababbbbbbaabbaa
|
||||||
|
bbaaabbbbababbabaaaababa
|
||||||
|
bbabbbbabaaaaabbbaaaaababbbbbaaabaababbbbabbabaabaabbabaabbababbaaaaaaabbbabaaabbbbbbabb
|
||||||
|
abaabbbababaaaabaabbbbbbbbabbbab
|
||||||
|
ababaaaaabababbabbbaababbaaabbaaabbaaaba
|
||||||
|
bbabbaabababbabbbaaaaaabaaabaabb
|
||||||
|
baabaaaaababbbbabbabbabbbababbaa
|
||||||
|
aaaaaaaabaaabaabababaaba
|
||||||
|
baabbababaaabaaaaabaabaaaababbbbaaabbbbb
|
||||||
|
abaaaabaabbababaababbbab
|
||||||
|
bbaaabababbababbababbbbb
|
||||||
|
baababbaaaabababbaaaaaabbaaaabbb
|
||||||
|
bbbbbbbaabababbabbabbbba
|
||||||
|
bbaaaaaaaabaabbbabaabbaa
|
||||||
|
abbabababbaaaaababbbabbbbbaaaaaaababaaaababaaaba
|
||||||
|
abaababbaabaaaaaaabaaaab
|
||||||
|
abababaabbaaabbaabababbaaabbabaa
|
||||||
|
babbabbbbbbbbbbabbaabbaa
|
||||||
|
bbabbbaaaabaaababbaaababbaaabaabaabbbaababbaabaaaabbbaaaabbaabbbaabbbbba
|
||||||
|
abbbaabbababaaabbababbbaabbbbababababaaa
|
||||||
|
bbaaabbabbbaabaaabbbabaaaaababbbbaababbb
|
||||||
|
baabaaaabbaaabbaaabbaababbbbbbababbbabbbbbbabbba
|
||||||
|
abaabbbaabaababaaaabbabb
|
||||||
|
bbbbabaaaabaabbbbbbbbaab
|
||||||
|
bbaaaaabababbabbaababbab
|
||||||
|
babbaabaabbbbaaaaabbbbbb
|
||||||
|
baaabaabbbbbaaaaabbbaaab
|
||||||
|
aaabbaabbabbabbbbabbbbba
|
||||||
|
aabbababaabababaaabbabbbbbbbbbbaaaabbaaaababbabbabaaabaabbababaabbbbbabbbabbbbabaabaabaabaababba
|
||||||
|
ababaabbaabbbabababbabab
|
||||||
|
bbbabbbabaaabbbaaaabbbab
|
||||||
|
aabababbaabaabaaabaaabbbaabbbaaa
|
||||||
|
aaaaaabaabbabbaabbbbaaaaaabbaabbaaabaaaaabbbbaabaaaabbbaababbbbbababbaaa
|
||||||
|
ababaabbabababbabababbbaaabababaaabbbbaaaabbbabb
|
||||||
|
babbabbaabbabbbaababaaba
|
||||||
|
abbbbaaabbbbbbbabbababbbbaabbaab
|
||||||
|
babbaabaabbbbabbaaaaaaabaabbabba
|
||||||
|
bbaaababbaabbabbbbbbabbbbabbabaabbabaaaa
|
||||||
|
aaabaabaaabbababbababaab
|
||||||
|
bbaaabbbababaabbaabaaababaabbbbbbbabbaaa
|
||||||
|
abbabbbabaaabbbbbabbbabaaabbaabababbbbbaabbbaabababaabba
|
||||||
|
aaaaaaaaabbabbaabbabbbaaaabababbbaaabaababaabbaabbababab
|
||||||
|
aabbbabababbabaaaaabababbabbbbba
|
||||||
|
abbababbbbbbabbaaabbbbbb
|
||||||
|
bbbbbbbaabaaaaababbaabbb
|
||||||
|
aabababbabaaabbaababbaaabbbbababbbabbabbbaaababbabbbbbabaaabaabaabbabaabaaabbaaa
|
||||||
|
abbbbbabbbbbabaaabaabaab
|
||||||
|
abbabbbabbbbabababbbbbba
|
||||||
|
abababbabaaaaaabbbabaaaa
|
||||||
|
aaaaababbbbbaabbaaabaabaabaaabababbabbabbbbaabbb
|
||||||
|
baabbbbabbbaaaaababaaabb
|
||||||
|
bbaaaababbaaaabaababaaaaaabbbaabbbbabaaa
|
||||||
|
babbbbbbbabbbaaabababaabbabbbaabbbaaabaa
|
||||||
|
aabaaabbaabbaabbbababaab
|
||||||
|
baaaabbbbbabbbababbaababbabaaabaabababbaabaabbabbaaaaabaabbaaabb
|
||||||
|
abababbabaabbbbaaaaababa
|
||||||
|
aabbbbabbbbbaabaaaabbaabbbabaabababbbbaabbaabbabbaabbaaa
|
||||||
|
aaabaabaaabbababbabbbababaabbabb
|
||||||
|
bbbaaababbbbbbbbbbbababbabbbaaab
|
||||||
|
bababbaaaaaabbbbbabaaaab
|
||||||
|
bbaaaabaaaaaaabababbbabaaaaabaaa
|
||||||
|
aabbabbbbbaaababbbababaa
|
||||||
|
abbaaaababbbbbabaaaaabbb
|
||||||
|
bbaaaaaabbbaabababaabaab
|
||||||
|
ababaabbabaababbbbabbaabbbbbbbbbaaabbababbabbabbabbaabaa
|
||||||
|
bbaabbbaabababbaaaababbb
|
||||||
|
bbbbabbaaabaabaababaaaaa
|
||||||
|
bbaabbababbbbaabbababbbabbbbababbbbaaabbbaaaababaababbbababbaabb
|
||||||
|
bbaaaababababbabbabbbbaaabbbaaab
|
||||||
|
babaababaaabbaabbbababaa
|
||||||
|
ababababababbaabbabababa
|
||||||
|
abbabbbbaaaaaabbabbbabaababaabbaabbbababbbbaabaaaaaaaaabbbaabbba
|
||||||
|
bbbaaabaaaaaaaaaababbabbbbaabaab
|
||||||
|
abbbaabbabbbbaaaaaaabaab
|
||||||
|
abbbbbbbaaabbbbaaaababbaaaaabbabbababaabbbaabbabaabababa
|
||||||
|
aababbaaabaababbababaabb
|
||||||
|
babbaaabaabbabbbbbabbaaaaaaabaab
|
||||||
|
aabababaabbbbabbaaaaabaaaabaabababbaaaba
|
||||||
|
baabbabbbbaaabababaabbbb
|
||||||
|
abbaaabbbbbabaabbbbbaabbabbbbaabbaabaaabaabaaaab
|
||||||
|
bbaabbbabbbbbabbbababbbb
|
||||||
|
babaababbbbababaabaaaabbbabbabaabaabababaabababb
|
||||||
|
bbababbabbaabbbbbbbbabbbabbaabaaabbbaaaabbaabaababaaaaaa
|
||||||
|
babbbbabbbbbbbaaababbbba
|
||||||
|
abbbbababbbaaaaaaaabbbab
|
||||||
|
baaaaaabaabbbaabbabbbabbabbaaabaababbaaaabbaaababbaaaaaabaaaaaabbaababababaaabbbabaabaaa
|
||||||
|
aabaabbbabbbbaaaaababbaaababaabbabbbabbababaabba
|
||||||
|
aabababbbbbbabbaabbbbbbb
|
||||||
|
baabababbbaaaaababbbbaabbabbabbbaaababbaaaabaaab
|
||||||
|
baaabbbababbaabaabbabaaa
|
||||||
|
abaababbabbbbaabaababbbbbbbaaaab
|
||||||
|
aababaababbbabbbababbaaa
|
||||||
|
baaabbbbbbbbabbabbbbbaab
|
||||||
|
bbabbaabaaabbbaaaabbbaaa
|
||||||
|
bbabaabaababbaababbbabbbabaabbabbaabbaab
|
||||||
|
bbbbbbbaaabbaabaababaaba
|
||||||
|
aababababaaabbbaababbbaa
|
||||||
|
babbbbbabbbababbaaababaaaababbaaaaabbbabaaababaaabbbbbbbbbbaaaabbaaabbaabaaaababbbaaaaab
|
||||||
|
aababbaaabaaaababbbbabaaabbbbabaabbbbabbbabbbabb
|
||||||
|
bbbaabaaaabbbbabaababbaabbabaababbaabaaaababbbba
|
||||||
|
abaabbbaabbbaaabbabaaaab
|
||||||
|
bbbbbbbbaaabbabababaaabbbbaaaabbbabaaabb
|
||||||
|
baaaaabbbaaaaabbabbaaaaa
|
||||||
|
ababaaaaaabbbaababbaabba
|
||||||
|
bbaaaaaaaaabbababaaaaaaaaabaaaab
|
||||||
|
bbbabababbbbabbaabaaaaaa
|
||||||
|
bbaaaababaaabbbabbbabaabaabaabab
|
||||||
|
bbbabbbaaabbbbaaabbaabbaabaabbbaaabbbbba
|
||||||
|
babbabbabbbbbbbaaababababaaabaabbaaaaaabaaaaabaaabbbbbbaaabbbbbabbaabbaa
|
||||||
|
ababbabbaabbaabbbaaaaabbaababaaaabbabbab
|
||||||
|
abbabbbbbaabbbbbbabaabbb
|
||||||
|
abbbaabbaaaaababbbaabbabaababaabaababaababbbbbbbbbaabaab
|
||||||
|
baaaaaaabbbabbbaaaabbbba
|
||||||
|
bbaaabbbababbbabbaaaabaabaabbabbbbbbbbbbabbabbabbababababbaababbbbabbaba
|
||||||
|
bbbbababbaabbababbabbbab
|
||||||
|
baaabaabaababbbbbbabbbbb
|
||||||
|
abbbbababbbababbbbabbababbabaabbbbaaaabb
|
||||||
|
bbaaaaaaabbbabbbabbbbbaa
|
||||||
|
bbabaabaabbabbaaababbbaa
|
||||||
|
aabbbaababaabbabbabaabba
|
||||||
|
baaabbbaaaabaababbaaaabb
|
||||||
|
babbbbaabbbbaabaabbbaaaa
|
||||||
|
abbaabbbaababbabbaaabbababbbabab
|
||||||
|
aaabaaaaaabbabababbbbabbbbabbbbbaaabaaab
|
||||||
|
babbbaababbaaaaaaabaaababbaaabbb
|
||||||
|
bbbbaababbaaaaaabbbbbaab
|
||||||
|
bbaaaaaaabbbbababaabaaab
|
||||||
|
babaababbabbabbbaabababaabaabaab
|
||||||
|
abbbabbbabbabbaaaababaababbabaab
|
||||||
|
bbbbaaaaaabbaababbabaaabbbabaaaabbabbabb
|
||||||
|
aaabbaabbaaabbbbbbbbbaaa
|
||||||
|
abbbbaabaabbbabaabaaabababaabbba
|
||||||
|
babbabbabaaababbbbaaabbababaabaabaabbaababaabaaa
|
||||||
|
babbabbaaabaabbaaaaaabaaabbbaabaabbaaaaabbbaaabaaababbaabbbbaabaabbbbaba
|
||||||
|
aabaaabbabbaaabbbabbbabb
|
||||||
|
bbaaaaaabaabbbbaabbbaaab
|
||||||
|
bbbbaaaabbbaaabaabbbbabbbababaaa
|
||||||
|
abbbabaabbabbaabbabbbbba
|
||||||
|
aaaaaaabaababbbbababbbab
|
||||||
|
abbbababbbabbbbabbbbbabbbabaaababbababaabbbaaaab
|
||||||
|
babaaabaaabbbaaaaabbbbbbabbaaaaabaabaabbabbbababaababaaaaaabbaaababbbabbbaaababb
|
||||||
|
abbababbbaaaaaabbabaaabb
|
||||||
|
bbabbababbabbaabbababbbb
|
||||||
|
babbbbaaaabbaaababbbbaaaaabbababaaabbaabbbbbaaab
|
||||||
|
aabbaabbabaaaabbaabababaabaaaabaaaabaaaaaaabaabababababa
|
||||||
|
abababbaaaabaabaaaababbb
|
||||||
|
bababbabaaabbbaaababbbbb
|
||||||
|
baaaababbabbbabababaabba
|
||||||
|
abbbbabaaaaababbbbbaabbabaaaabbaaaababba
|
||||||
|
aabbababbbaababbabaababa
|
||||||
|
babbaaabbbaabaabbbaaabbabaaaaabaabbabbaabaabbaabbbbbababbbbabbbb
|
||||||
|
aaabbbaaabbabbabaabaaaaaaabaaaaa
|
||||||
|
aababbaaaababbbbabbbaaaa
|
||||||
|
baaabbbabababbbaaabaabba
|
||||||
|
bbabbaabbbbabaaabaaabbbbbbbaabababbaabbbbabbabbaaabaaabb
|
||||||
|
baabaabaababababaaabaabb
|
||||||
|
abbababbbbbbababbbaabaab
|
||||||
|
abababbabababbabbaaaaaab
|
||||||
|
bababbbaaabaaabababababb
|
||||||
|
aabbabbbbaaababbbbabbaaa
|
||||||
|
abbaaaababbabababbaabbbabbaabaab
|
||||||
|
bbbabbbaababaaaabbbaaabababbaaaaababbabaaabbabaaaaaaabba
|
||||||
|
baabaabaababaaabbbbbababbabbabbabababbbb
|
||||||
|
bbbbbaaabbaababaabbbbbaaababaaba
|
||||||
|
bbaaaabaabbaaaabbbababbbbbbababaabbabaababbbaaaaabaabaaa
|
||||||
|
bbabaaaaababbbbbbababbbbbbbababbbabbbbab
|
||||||
|
ababababbaaabaabbbbaababaababababaabbbaaaaababbbbabaaabb
|
||||||
|
babbbabaaabbabbbaababbba
|
||||||
|
aaaaaaaababbbababbaababbabbbaabb
|
||||||
|
aababababbaaaaaabaaaaaba
|
||||||
|
aaaaaaabbaaaabaaaababaabbbabbabb
|
||||||
|
bbabbabbbbbbabbaabbbaabaababbbaabaaabababaabbbbbbabbbbbb
|
||||||
|
bbbaabbaabaaaabaabaaabaa
|
||||||
|
babaabbabbabbaaabaabaaaaabaabaaa
|
||||||
|
aababababbbbaabaabbbbbaa
|
||||||
|
baabababbaabaabbaaaaaabbaaaaabababbabbaaabbabbaaaaaaabbb
|
||||||
|
bbabaabaababbabbbabbaabb
|
||||||
|
abaaaababbbbbbbabbabaaaa
|
||||||
|
bababbabbbbbabaababbbbbb
|
||||||
|
aabbabbbbbbbabababbabaab
|
||||||
|
abbababababbabaaaabbbaaa
|
||||||
|
aabababbabbaabbbbbbaaaabbbbbaaaa
|
||||||
|
abbbabbbaaaaaaabbaabbbbb
|
||||||
|
bbbbbbbaaabaaababbbbababbabaaabaabababbb
|
||||||
|
aaaababbaaaaaabaaabaabba
|
||||||
|
abaaaabbbbbbababbbababbbabaabaaababaabaa
|
||||||
|
bbabbbaaababbabbbbbaaaab
|
||||||
|
aababaaabaabbbbbbbbabbbb
|
||||||
|
aabbbaababbbbbabbababaaa
|
||||||
|
aabbaaababbaababbbbbababbbbbababbbbbaabbbaabbbbbabaabbaabbbabbbb
|
||||||
|
baaabbbbbbbaaabaabaabaab
|
||||||
|
baaabbaaaababaabbabaaaaa
|
||||||
|
aaabababaababbabaababababbbbbbaabbabbbaabaabaabbaaabaabaababbbbb
|
||||||
|
aabaaabbbaaabaaabbbabaab
|
||||||
|
bbbaabbaababbabababbbbbababbbabbbbaabbbbbbabaaaaaaaabbab
|
||||||
|
aabbaaabbbaabbabaaababbb
|
||||||
|
bbbbabaabbbabbbaaabaaaab
|
||||||
|
aabbaabbbabaababbaababaa
|
||||||
|
aaaaaaaababbbbababaaaabaaabababbabaaababababababaaabbabbababbbbbaaaabbab
|
||||||
|
babbbbabbababbbabaabbaaa
|
||||||
|
aabbaaabbbaababbbbbbabaaababaabbbabaaabaaabbbabbababbaba
|
||||||
|
bbbaaaaabbaaabababbabbbb
|
||||||
|
bbbbabbababbaaaabbbabbbaabbaabbbbbaabaaa
|
||||||
|
aaaababbabbaababbabababb
|
||||||
|
bababbabaaabaaabbaabbbaabaaababa
|
||||||
|
babaababbaaaaaabababbaabbababbaaaaababbb
|
||||||
|
aabbabababaaabbababaaaba
|
||||||
|
bbbaaabbabaababbbababbaa
|
||||||
|
abbabbbaabbaababbabaabba
|
||||||
|
baaababbaaaaaabaaabbbaaa
|
||||||
|
baaaaaabaabababbaaabbaabababbaababbaaabbaababbba
|
||||||
|
abbbbabbbbabbabaaaaaaabbbabbaabb
|
||||||
|
abbbbaabaaabaababbbababaaabbbaabbabbabbabbabaaababbabbbbbaababaa
|
||||||
|
bbbabababaabbaaabbaaababbabaaaaabbaaaaaa
|
||||||
|
abbbbaababbbabbbaabaaaab
|
||||||
|
bbababaaaaaabababaaabbbbbbabbaaababbabbabaaaababaaaabababbabaabaabaabaab
|
||||||
|
bbbabbaabbbbabababaaabaa
|
||||||
|
abaaabbabaaaabaaaaabbabaababbaba
|
||||||
|
babbaabaabbabbaabaaaaaba
|
||||||
|
aababababbabbbaaabbaabba
|
||||||
|
bbbabaabbaaabbbabbabbaaa
|
||||||
|
bbbababaaabbabababababbb
|
||||||
|
aabbbbababaaaabbbaabbabbbaabbaab
|
||||||
|
bbaaaababababaababbbaaab
|
||||||
|
abbbaabbaaaaabbaaabaaaabbabaaabaaaaabbabbaababaa
|
||||||
|
babbabaabababbabbbbbabbbaabbbaba
|
||||||
|
bbbbbbbaabbbaabbbbbabbab
|
||||||
|
abaabbabbaabaababaabababbbbaaababababbaaaabbbabbabbaabbb
|
||||||
|
abababbabbaaaaabaabbabba
|
||||||
|
abbabaaababbababaabaababbabaaaaabbaaabaabbabbaaa
|
||||||
|
babbabaabbababbbbbabbaaa
|
||||||
|
aabaaabaababaaaaaaaabbba
|
||||||
|
bbaabbbabbbbaaaabaabababaabaaabaaabbabba
|
||||||
|
abaaaabaaabaaabbabbabbbb
|
||||||
|
abaaaaabaaaaaaaabaaaaaba
|
||||||
|
aaabbabababbbbaaaaaabbbb
|
||||||
|
bbbbaabbabaaabababaaabbababbbabaababbaabbabaabba
|
||||||
|
bbbabbbaaabbbababbaaabbbbbbabbabbbbbbabbabbbbbbb
|
||||||
|
abaaaababaaabaabababaaba
|
||||||
|
baaabaaabbabbbaaaabbaababaaaabba
|
||||||
|
bbbbabbbbbaabbbabaabbbbb
|
||||||
|
ababbaababbbbabaababaaaaaabbaaabaaaaabbb
|
||||||
|
baaaababaaaaababbababbaa
|
||||||
|
aabaababbabbaabbbaabbababaabbaabaaabaaabbabaabbababaaabbabbbaaab
|
||||||
|
abbabbaaaaaaabbabaaaabbaababbaaa
|
||||||
|
bbbbaabaabbbbabbaabbabbbaababbbbbabaaaba
|
||||||
|
bbbaaabbbaaabbbaaaababbb
|
||||||
|
baaabbbabbbaaaaabbbaaabaaabababbabaaabbababbabab
|
||||||
|
aabaaabbabaaaaababbbaaab
|
||||||
|
bbaaaaabaabbabababbbbaaababbababaabaabba
|
||||||
|
bbaaababbbbbaaaabababbbaaaabbabb
|
||||||
|
bbababbbbbabbababbbbabaabbbbaaaaaabbbaabbabbabbbbbbabbbb
|
||||||
|
bababbbaaaabbaabaaaabbba
|
||||||
|
ababbaababaabbabaaaaabba
|
||||||
|
aaaaaabaaaabbbaaababbaba
|
||||||
|
babbbbaaabbbabbbbbbabbab
|
||||||
|
bbbbbbbabbbbabbbabbaaaba
|
||||||
|
baaabaaaaabbaabbabaaababaaababbb
|
||||||
|
baabaabababbabbbaabbbabb
|
||||||
|
bbaaaaaaabbbbabbabaabbabbabbaaabaaaababaaaaaabba
|
||||||
|
baaaaaaaaaaaaaaaaaaababa
|
||||||
|
abbaababaabbbbabaaababba
|
||||||
|
bbbbababaabbbaabaababbaaaaabaaab
|
||||||
|
aababaabaabaababbbbbaaaaababaaaaabaababbbabbbbaaabaaaaabababbbab
|
||||||
|
babaababbbaabbabbbaabbaa
|
||||||
|
baabbababaaaabaabababbaa
|
||||||
|
bbaaabbabbaaabbbbbabbabb
|
||||||
|
baabbbbabbaaaabaaaabbbba
|
||||||
|
bbababbbbaabbbbaaaaabaab
|
||||||
|
aaabababaaaaaabbabaaaabababbbbbb
|
||||||
|
bbbbbbababaaabbbbaaaaaaabbaabbaabbbbbaabaabaaabbaaabbbbabbaabaabbbbaaabbabbbaabb
|
||||||
|
aabbbaaababbabbbbaabbbbababaaaaababaaaaaaaababbbaabababb
|
||||||
|
bbabbaabbabbaaaaaaaaabba
|
||||||
|
abbabbaabbaabbabaaabaabaabbaaaaaaabaaaabbbaabaabaabbabaa
|
||||||
|
abaababbaabbaaabaaabaaaabbaaaabaabaaababaababaaabbbabbababaaabaaabbaabbabbaaabaa
|
||||||
|
bbaaaaabbbbbabaaaababbaababbabbbaaabbabababbababbabbbbba
|
||||||
|
babbbbaaaababbaaaabaabbbbaabbbaababbbbbb
|
||||||
|
aaaababbbbbbbbaabbbabbbb
|
||||||
|
bbaaababbbaaabbaaabbbabb
|
||||||
|
abbaaabbbabbaabababaabbb
|
||||||
|
aabababbabbbbbababbbaabbaaabaaaaabbabbaababaabaabaaaaabaaababbbaababbbab
|
||||||
|
babbaaaaaabbbbabbbbbbbaabaabbbabbbbbaaab
|
||||||
|
babbabaaabbaaabbbabaaaaa
|
||||||
|
aaaaaaabababababbaababbb
|
||||||
|
ababaabbbabbaaaaabbbbbbb
|
||||||
|
aabbaaabaabbbabaaaababba
|
||||||
|
baabbabaaabaabaaabbaaaaa
|
||||||
|
abaaaabaaabbbaabbabaabaa
|
||||||
|
bbaaabbbbaaabbbaababbbbb
|
||||||
|
baaababbbbbaababbbabbaaa
|
||||||
|
ababbbbbabbababbaaabaabbaabbbaaaaabbaaabbbbbababbaaaaabaaabbbbaaaabbabaaaababbbbabaabaaa
|
||||||
|
bbbbabbbababababbaabbaab
|
||||||
|
ababbaabbabbbbaababbabbabaaabbaabaaabaaabaaaabbbababaababaababbb
|
||||||
|
baaaababbabbbbabbaabbaab
|
||||||
|
bbaabbbaabaaabbbbababbaa
|
||||||
|
bbabbbbaabbaaabaabbaabbaabaabbbb
|
||||||
|
bbbaaaaabbaababbbbaabbababaababbabbaaaba
|
||||||
|
aabababbaaabbbaaababaabbabbbbbba
|
||||||
|
abaaaabaaaabaaaabaaaababaabbbaababaabbabaaaaabbaaababbbabaabbaaababaaaab
|
||||||
|
baaabbbbbababababaaaababbbbaabaaaabaaabbbabbaabbabbbabaabbaaaaba
|
||||||
|
abbbbabbbbbbabbbbabbbbbb
|
||||||
|
bbbbabbbabbaaabbbbabaabaababaababbaaaabb
|
||||||
|
ababaaaaaababaabbaabbabaabbbabaaababbaaaabbbaaaa
|
||||||
|
bbbbbbbbbbbbaabbaaaabaab
|
||||||
|
aababaabbabbabaaaaaabaab
|
||||||
|
ababaaababbabbbabbaabaaa
|
||||||
|
bbbababbabbbbbabaaaaabaa
|
||||||
|
abbbaabbbabbbbabaaabbaaa
|
||||||
|
abbaaaabbbaaaaabaabaabba
|
||||||
|
aaabbabaaabaabbbaaabbabb
|
||||||
|
ababaaababbbbaaababaababbbbaabbbbaabaaaa
|
||||||
|
baabababbaababbabaabbaab
|
||||||
|
bbaaabbbaaabaabaababbaba
|
||||||
|
baaaaabbbbbaabaabaaabaaabaabbbbb
|
||||||
|
aabbbababaaaaaabababbaaa
|
||||||
|
baaaababbaaababbaaaaabaa
|
||||||
|
aabababaabaabbababababbb
|
||||||
|
bbaaaaaabaababbabbbbabaabbbbbbaaaabbaaabbababaab
|
||||||
|
bbbbababaabababaaabbbaaa
|
||||||
|
baaabaababbabbbaaababbaa
|
||||||
|
babaaaaaabbaababaaabbbbaabababbababaaaababaabaabbbbaabbbaaaaababaabaabbabbbbbbbbabababbaabaaaaab
|
||||||
|
bbbaababbaabbbbabaaaabaaabbbbbba
|
||||||
|
aababaabaababaaabbbaaababbbabaabbbaabaab
|
||||||
|
bbbbababaaabaaaabbbaaaab
|
||||||
|
bbbbbbbbabbbabbbaababaabbbabbabbbbaabaab
|
||||||
|
baaabaaabaaabbbbaabaaabbaaabaabaaabbbbaa
|
||||||
|
bbbabaabbaaaababaaabaaab
|
||||||
|
ababababbbbbabbbaaabababbaabbaab
|
||||||
|
abbababbaababaaaaababbaa
|
||||||
|
ababababaabbaabbbababaaa
|
||||||
|
ababbabbaaaaaabbababbbab
|
||||||
|
aaabbabbbaabababaabbaabbaaabaabbbabbaabb
|
||||||
|
bbbbababaabaaaaaabaaaaaa
|
||||||
|
bbaababaababbaabaaaabaaaaabbabaabaaaaaaaaabbaaba
|
||||||
|
bbababbbbaaaaabbaaababba
|
||||||
|
bbbbbbaaabbaababbaaabbaaabbbbabababbbbba
|
||||||
|
aabbbaabbbbababbbaaababa
|
||||||
|
aabaabaabaaabaababbabbbb
|
||||||
|
bbbbabaabaabbbbababaabab
|
||||||
|
abbbaaaaaabbbbbababbababbaaaabba
|
||||||
|
aaaaaaabaaabaababbbaaaaaaabbbbbbbbaabaaaabbaaaba
|
||||||
|
baaabbabbaaabaababbaabababbabbbabaabababaaababbbbbabbaabaabbbabb
|
||||||
|
aaaaababbaaabbaabbaaaabb
|
||||||
|
bbbabbbabaabbabaabbbabbaababaaaabbbbabbabbaabbaaaabaaabbabbbbaab
|
||||||
|
baabaabaabbbbbababaaaabbbbbabaabbbbaaaabbbbbbaabbaabbbbb
|
||||||
|
bbaaaaaabbabbaabbaabaaba
|
||||||
|
abbababbbabbbbabbaaaaaabaaaaaabaaaaaabbb
|
||||||
|
abaababbaabbbaabbabaabbb
|
||||||
|
baabababbaabababbbbaaaaabbababbbbaaaabbb
|
||||||
|
baabaabaabaabbbbbaabababbabababbbbabbbaabaaaaabaaaaabaaababbbbababbbaaabbbabaaba
|
||||||
|
abbbbaaaaaabbbaabaaaabaaaaaabbaa
|
||||||
|
baababababbaaabbbabbaabb
|
||||||
|
aaaaaabaabababbabbabbbbb
|
||||||
|
aaabbabaaabbaabbbbabaaab
|
||||||
|
abbbaabbbbbbabaaaaaabaaa
|
||||||
|
aabbabbbabaaaabbaabbbaaa
|
||||||
|
aabbababbaaabbbbabbbbbabaabaabab
|
||||||
|
bbbaababaabbbbbabbabaaaabaaaabba
|
||||||
|
bbbbababaabababaaabbabaa
|
||||||
|
ababaabbbbbbbbbaaaaabbbb
|
||||||
|
aaabababbabbaaaaababbbbb
|
||||||
|
bbbbabbabbbbbbaaaabaabbbbabbbbba
|
||||||
|
bbbababbaaababababbaababbbabbaabbabaaabaabbabaab
|
||||||
|
baaabbbaabababbaababbbaa
|
||||||
|
aaaaaababbbabbaaaabaaaaaabababababbaabaababaaaba
|
||||||
|
bbabbaabbbbbbbaabbbaaaab
|
||||||
|
babbaabaabbaaabbbbaabbbaabababbaaaabbbaabaababbbabbbaaaa
|
||||||
|
baabaabbbaaababababaaabbabbbbaaaaabaaaaababbabaaabbbbbbabaabaababbbbbaaabaaaaaaa
|
||||||
|
abbaababbbbabaabababbaba
|
||||||
|
bbaababbababababbbbbbaab
|
||||||
|
bbbbaababbaaaababaaabbaaabaabbbbbbbbbaaa
|
||||||
|
babbbaaabaababaababbbabbabbaabbabbaaaabaaababaababaabaaaabbaaaba
|
||||||
|
bbababbbabaaaaabbbbbbabb
|
||||||
|
babbabbbababaaaababbbabaaaabbababbabbbbbabababbb
|
||||||
|
abbbaabbbbaaabbbaaabbabaaaaaaababaabaabbaabbbaabababbbabbbbbbbabababbbbbaaababaa
|
||||||
|
aaaaabbabbbaaaabbaaababbbaaaababaaabbabbbabbabbaabbabaabaabbaaaaabbaabaababaabaababbabaa
|
||||||
|
baaababaababbbabbaaaabbaababbaaababababababbaabbbbbabbbababbababaaabbbbaababbaba
|
||||||
|
babbabbaabbbabaaabbaaaaa
|
||||||
|
bbbaaabaaaabababbaaabbbabababbbb
|
||||||
|
bababbbaababaaaabaabaabaaabbabbbbbabababbabbbaab
|
||||||
|
aababaaaabaabbabbabaabaa
|
||||||
|
aababbaaaaabbaabaaaababa
|
||||||
|
babbbbaababbbbaaaaabbbaabbaababbbbabaaabbaaabbabababbbaa
|
||||||
|
abaaaababababbabbababbbabbabbaabbbaaabaa
|
||||||
|
aabbababaabbaababaaaaabbbabbaaaabababbabbbbabbaaaaabbbbb
|
||||||
|
aabaaababbaaaabbaabbabaaaaababbabababbbb
|
||||||
|
abbbbbaabbbabaaaaaaaabbaaabbbaaa
|
||||||
|
bbbbabaaaabbbababbbabbbb
|
||||||
|
bbbababaababaaabaabbabaa
|
||||||
|
abaababbbaaababbbabbbbaaabaabaab
|
||||||
|
aaabbaababbbbaaaaabbbbba
|
||||||
|
aabaaaabababbaaaaaabaabbaaaabbaa
|
||||||
|
baaabbabbbabaaabaaaabaabababbbbb
|
||||||
|
abaaaaabbbaaaaaabaababaa
|
||||||
|
bababbabbbbabbaaaaabbbab
|
||||||
|
abaaababbaabbabaaabaaabbabbbbabaaaaababaaabaaaabbbbabbbbbaabbaaa
|
||||||
|
aabababbaaabaaaaabbaabba
|
||||||
|
ababaaabbabbabaabbbaaaaaaaaaaabbaaabaaab
|
||||||
|
aabaaababbbababaaabaabaabbbbaaaaaabbaaaa
|
||||||
|
bababaaabbababbabbbabaaa
|
||||||
|
abaaabbabaaabaabbababbaa
|
||||||
|
abbbabaabbaabbbababbbbbb
|
||||||
|
aabbbbabbaaabaaabbaaabaa
|
||||||
|
bbbbabbaabbbbbbaaaababaa
|
||||||
|
abbbbabaaabababbaaabbbbb
|
||||||
|
abaaabbaabaaabbbbbaabbbb
|
||||||
|
aabaaabaaaaaaabaaaaabbba
|
||||||
|
abbabbbaababbabbaaaabbbb
|
||||||
|
babbaabaaaaaaaabbaabbbbabaaaababaabbaaaa
|
||||||
|
ababbabbabaaaabbbbbababbaabbababbbbababb
|
||||||
|
abbbabbbbabbbbabbbaabaab
|
||||||
|
baaababbbbaaabbabbbaaaab
|
||||||
|
abbbbaabbbbbaabbabaaababbaabaaab
|
||||||
|
bbbbababbbaaabaaabbababbbabbbbababaababaaaabaaaabaaaabaaabbbaabababbbabbbaaaaaababbaabbb
|
||||||
|
bbbbabaabbabaabbabbbbbabbabaaabbaabbaaab
|
||||||
|
baabbabaaabbaababbbbbaab
|
||||||
|
bbabaaabaabaaaababbbbbaabaaabbaabababbaaaabbaaabaaaababbaaaababaaaaaaaaaababbbbb
|
||||||
|
abaaaabaabbbabbbaaaaababbaaaaaab
|
||||||
|
abbbabbbaababbbbabaaaababbaaabbaabbbaabbbbabaaaa
|
||||||
|
bbaaabbabbaababbbbbabbaabaabbbbabbbaababababbbaa
|
||||||
|
bbaaaaaababbbbbbbaababaaababbaaabaabaaabbbababbabbabbbbababbaaab
|
||||||
|
bbaababbbbaaabbbababbaba
|
||||||
|
bbbaaabbbbbbabaabbabbaaa
|
||||||
|
bbbababaaababbbbbaababaa
|
||||||
|
baaaababaababaaaabbbbbbb
|
||||||
|
aabbbbabaaaababbbabaabba
|
||||||
|
baaabaabbbbabbbabbaaabbaabbbaabbbbaabaab
|
||||||
|
aabbbaabbaaaaaaabaaaaabbbbbaabab
|
||||||
|
baaaabaaaabbaabaabaaababaaaabaab
|
||||||
|
aaaaaabaaababbaabaaaaaba
|
||||||
|
aaabaaaaaabbbbabbaabbaaa
|
||||||
|
abaababbbbbabbbaaaaaaaaaaabaaabbbaabbbabaaabaabb
|
||||||
|
bbbaabbaabbababaabbabaaa
|
||||||
|
bbbababbabbabbbabbaaabbabababbaaababbbbb
|
||||||
|
abaabbbaababbbaaabbabaab
|
||||||
|
aababaabaaabbababababbbaaaabbabababbbbaaaaaabbbababbabab
|
||||||
|
bbabbbaaaaaaababbbaaaabababbabaaabbabbbbaaabbbbb
|
||||||
|
aaaaaabbbbbaaabbbbaabaaaaabbabaa
|
||||||
|
bbbaabbababbaabaaabbbbbb
|
||||||
|
abbbabaaaaaaababaababbab
|
||||||
|
bbabaabaaabbaabbaabbabba
|
||||||
|
baaaabaaaababaabbbabbbab
|
||||||
|
bbaabbbaaaabbaaaaaaaabaaaaaabbaa
|
||||||
|
aabaabaaaababaabbbbaabaabbbaaabbbbabbabb
|
||||||
|
aaabaabaabbbabbbaabbbbbb
|
||||||
|
babbaaaaabaaabbbbbaaababaaaaaabaababbbababbabbbbaaabbbba
|
||||||
|
abbababbbaabbabbabaabbabaaaaabbb
|
||||||
|
ababaaabbaaaaabbabbbabaabbaabbbaabaaaaabbaabaabbabbbaaaa
|
||||||
|
babbaaaabaabababbaaaabbb
|
||||||
|
aaabbbaaaabbbabababaabaa
|
||||||
|
bbbaaabaababbaabababaaba
|
||||||
|
aaababbaaabbaababbbbabbabbbabbab
|
||||||
|
abababbaaababaababbaabba
|
||||||
|
bbaaabbabbbbababaaaabaab
|
||||||
47
2020/samples/19.2.txt
Normal file
47
2020/samples/19.2.txt
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
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
|
||||||
12
2020/samples/19.txt
Normal file
12
2020/samples/19.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
0: 4 1 5
|
||||||
|
1: 2 3 | 3 2
|
||||||
|
2: 4 4 | 5 5
|
||||||
|
3: 4 5 | 5 4
|
||||||
|
4: "a"
|
||||||
|
5: "b"
|
||||||
|
|
||||||
|
ababbb
|
||||||
|
bababa
|
||||||
|
abbbab
|
||||||
|
aaabbb
|
||||||
|
aaaabbb
|
||||||
@@ -1,12 +1,136 @@
|
|||||||
|
use std::collections::HashMap;
|
||||||
use std::io::Read;
|
use std::io::Read;
|
||||||
|
|
||||||
|
use regex::Regex;
|
||||||
|
|
||||||
|
use crate::common::Lines;
|
||||||
use crate::Solution;
|
use crate::Solution;
|
||||||
|
|
||||||
|
fn read_input(input: &mut dyn Read) -> (HashMap<usize, String>, Vec<String>) {
|
||||||
|
let mut lines = Lines::new(input);
|
||||||
|
|
||||||
|
let mut rules = HashMap::new();
|
||||||
|
|
||||||
|
while let Some(line) = lines.next() {
|
||||||
|
if line.is_empty() {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
let pos = line.find(':').expect("Invalid line");
|
||||||
|
|
||||||
|
let n = line[..pos].parse().unwrap();
|
||||||
|
let remainder = line[(pos + 2)..].to_owned();
|
||||||
|
|
||||||
|
rules.insert(n, remainder);
|
||||||
|
}
|
||||||
|
|
||||||
|
(rules, lines.map(|s| s.to_string()).collect())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn compute_regex(rules: &HashMap<usize, String>, memo: &mut [Option<String>], pos: usize) {
|
||||||
|
if memo[pos].is_some() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let rule = &rules[&pos];
|
||||||
|
|
||||||
|
let mut expr = String::from("(?:");
|
||||||
|
|
||||||
|
for part in rule.split(' ') {
|
||||||
|
match part.chars().next().unwrap() {
|
||||||
|
'|' => expr.push('|'),
|
||||||
|
'"' => expr.push_str(&part[1..(part.len() - 1)]),
|
||||||
|
c if c.is_ascii_digit() => {
|
||||||
|
let i = part.parse().unwrap();
|
||||||
|
compute_regex(rules, memo, i);
|
||||||
|
expr.push_str(memo[i].as_ref().unwrap());
|
||||||
|
}
|
||||||
|
_ => panic!("Unknown regex bit: '{}'", part),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
expr.push(')');
|
||||||
|
|
||||||
|
memo[pos] = Some(expr);
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Default)]
|
#[derive(Default)]
|
||||||
pub struct Day19;
|
pub struct Day19;
|
||||||
|
|
||||||
impl Solution for Day19 {
|
impl Solution for Day19 {
|
||||||
fn part1(&mut self, _input: &mut dyn Read) -> String {
|
fn part1(&mut self, input: &mut dyn Read) -> String {
|
||||||
todo!()
|
let (raw_rules, samples) = read_input(input);
|
||||||
|
let num_rules = raw_rules.keys().copied().max().unwrap() + 1;
|
||||||
|
|
||||||
|
let mut memo = vec![None; num_rules];
|
||||||
|
compute_regex(&raw_rules, &mut memo, 0);
|
||||||
|
|
||||||
|
let expr = format!("^{}$", memo[0].as_ref().unwrap());
|
||||||
|
|
||||||
|
let expr = Regex::new(&expr).unwrap();
|
||||||
|
|
||||||
|
samples
|
||||||
|
.into_iter()
|
||||||
|
.filter(|p| expr.is_match(p))
|
||||||
|
.count()
|
||||||
|
.to_string()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn part2(&mut self, input: &mut dyn Read) -> String {
|
||||||
|
let (raw_rules, samples) = read_input(input);
|
||||||
|
let num_rules = raw_rules.keys().copied().max().unwrap() + 1;
|
||||||
|
|
||||||
|
let mut memo = vec![None; num_rules];
|
||||||
|
compute_regex(&raw_rules, &mut memo, 0);
|
||||||
|
|
||||||
|
// Rule 0 is 8 11
|
||||||
|
// Rule 8 is 42+
|
||||||
|
// Rule 11 is 42{n} 31{n} for arbtrary n
|
||||||
|
// So we just need to know whether the sequence matches 42{n} 31{m} where n < m
|
||||||
|
|
||||||
|
let r42 = memo[42].as_ref().unwrap();
|
||||||
|
let r31 = memo[31].as_ref().unwrap();
|
||||||
|
|
||||||
|
let r0 = format!("^({}+)({}+)$", r42, r31);
|
||||||
|
|
||||||
|
let r0 = Regex::new(&r0).unwrap();
|
||||||
|
let r42 = Regex::new(r42).unwrap();
|
||||||
|
let r31 = Regex::new(r31).unwrap();
|
||||||
|
|
||||||
|
samples
|
||||||
|
.into_iter()
|
||||||
|
.filter(|p| {
|
||||||
|
if let Some(cap) = r0.captures(&p) {
|
||||||
|
let n = r42.find_iter(&cap[1]).count();
|
||||||
|
let m = r31.find_iter(&cap[2]).count();
|
||||||
|
|
||||||
|
n > m
|
||||||
|
} else {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.count()
|
||||||
|
.to_string()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use crate::test_implementation;
|
||||||
|
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
const SAMPLE: &[u8] = include_bytes!("../samples/19.txt");
|
||||||
|
const SAMPLE2: &[u8] = include_bytes!("../samples/19.2.txt");
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn sample_part1() {
|
||||||
|
test_implementation!(Day19, 1, SAMPLE, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn sample_part2() {
|
||||||
|
test_implementation!(Day19, 1, SAMPLE2, 3);
|
||||||
|
test_implementation!(Day19, 2, SAMPLE2, 12);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user