Skip to content

Commit cbbbb9c

Browse files
committed
feat(2018): refactor days 7-9 and fix input handling
Refactored Days 7, 8, and 9 for 2018 to use the common framework. Fixed a persistent parsing issue in Day 9 by replacing serde_scan with a more robust regex and restoring the correct input data. Also improved the main input reader to trim trailing whitespace.
1 parent c2a29bc commit cbbbb9c

18 files changed

Lines changed: 1245 additions & 438 deletions

File tree

2018/inputs/4/prod.txt

Lines changed: 905 additions & 0 deletions
Large diffs are not rendered by default.

2018/inputs/4/test.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[1518-11-01 00:00] Guard #10 begins shift
2+
[1518-11-01 00:05] falls asleep
3+
[1518-11-01 00:25] wakes up
4+
[1518-11-01 00:30] falls asleep
5+
[1518-11-01 00:55] wakes up
6+
[1518-11-01 23:58] Guard #99 begins shift
7+
[1518-11-02 00:40] falls asleep
8+
[1518-11-02 00:50] wakes up
9+
[1518-11-03 00:05] Guard #10 begins shift
10+
[1518-11-03 00:24] falls asleep
11+
[1518-11-03 00:29] wakes up
12+
[1518-11-04 00:02] Guard #99 begins shift
13+
[1518-11-04 00:36] falls asleep
14+
[1518-11-04 00:46] wakes up
15+
[1518-11-05 00:03] Guard #99 begins shift
16+
[1518-11-05 00:45] falls asleep
17+
[1518-11-05 00:55] wakes up

2018/inputs/5/prod.txt

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

2018/inputs/5/test.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dabAcCaCBAcCcaDA

2018/inputs/6/prod.txt

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
242, 112
2+
292, 356
3+
66, 265
4+
73, 357
5+
357, 67
6+
44, 303
7+
262, 72
8+
220, 349
9+
331, 301
10+
338, 348
11+
189, 287
12+
285, 288
13+
324, 143
14+
169, 282
15+
114, 166
16+
111, 150
17+
251, 107
18+
176, 196
19+
254, 287
20+
146, 177
21+
149, 213
22+
342, 275
23+
158, 279
24+
327, 325
25+
201, 70
26+
145, 344
27+
227, 345
28+
168, 261
29+
108, 236
30+
306, 222
31+
174, 289
32+
67, 317
33+
316, 302
34+
248, 194
35+
67, 162
36+
232, 357
37+
300, 193
38+
229, 125
39+
326, 234
40+
252, 343
41+
51, 263
42+
348, 234
43+
136, 337
44+
146, 82
45+
334, 62
46+
255, 152
47+
326, 272
48+
114, 168
49+
292, 311
50+
202, 62

2018/inputs/6/test.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
1, 1
2+
1, 6
3+
8, 3
4+
3, 4
5+
5, 5
6+
8, 9

2018/inputs/7/prod.txt

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
Step F must be finished before step N can begin.
2+
Step V must be finished before step Y can begin.
3+
Step B must be finished before step W can begin.
4+
Step K must be finished before step O can begin.
5+
Step E must be finished before step H can begin.
6+
Step A must be finished before step P can begin.
7+
Step Y must be finished before step S can begin.
8+
Step T must be finished before step L can begin.
9+
Step G must be finished before step R can begin.
10+
Step I must be finished before step H can begin.
11+
Step X must be finished before step M can begin.
12+
Step N must be finished before step C can begin.
13+
Step O must be finished before step R can begin.
14+
Step Z must be finished before step R can begin.
15+
Step R must be finished before step D can begin.
16+
Step M must be finished before step C can begin.
17+
Step H must be finished before step D can begin.
18+
Step C must be finished before step U can begin.
19+
Step J must be finished before step D can begin.
20+
Step L must be finished before step Q can begin.
21+
Step D must be finished before step U can begin.
22+
Step S must be finished before step U can begin.
23+
Step U must be finished before step Q can begin.
24+
Step P must be finished before step Q can begin.
25+
Step W must be finished before step Q can begin.
26+
Step X must be finished before step R can begin.
27+
Step P must be finished before step W can begin.
28+
Step B must be finished before step U can begin.
29+
Step E must be finished before step J can begin.
30+
Step T must be finished before step R can begin.
31+
Step M must be finished before step L can begin.
32+
Step M must be finished before step P can begin.
33+
Step V must be finished before step T can begin.
34+
Step T must be finished before step U can begin.
35+
Step R must be finished before step W can begin.
36+
Step V must be finished before step A can begin.
37+
Step X must be finished before step S can begin.
38+
Step V must be finished before step U can begin.
39+
Step C must be finished before step P can begin.
40+
Step J must be finished before step S can begin.
41+
Step F must be finished before step D can begin.
42+
Step Y must be finished before step U can begin.
43+
Step L must be finished before step W can begin.
44+
Step F must be finished before step T can begin.
45+
Step B must be finished before step E can begin.
46+
Step F must be finished before step J can begin.
47+
Step R must be finished before step M can begin.
48+
Step Z must be finished before step W can begin.
49+
Step K must be finished before step E can begin.
50+
Step S must be finished before step W can begin.
51+
Step U must be finished before step P can begin.
52+
Step S must be finished before step P can begin.
53+
Step D must be finished before step W can begin.
54+
Step Z must be finished before step P can begin.
55+
Step U must be finished before step W can begin.
56+
Step M must be finished before step J can begin.
57+
Step M must be finished before step W can begin.
58+
Step H must be finished before step U can begin.
59+
Step E must be finished before step C can begin.
60+
Step C must be finished before step Q can begin.
61+
Step L must be finished before step U can begin.
62+
Step Y must be finished before step R can begin.
63+
Step E must be finished before step D can begin.
64+
Step A must be finished before step S can begin.
65+
Step Z must be finished before step J can begin.
66+
Step X must be finished before step W can begin.
67+
Step C must be finished before step D can begin.
68+
Step C must be finished before step S can begin.
69+
Step G must be finished before step N can begin.
70+
Step K must be finished before step Z can begin.
71+
Step T must be finished before step I can begin.
72+
Step H must be finished before step W can begin.
73+
Step E must be finished before step Q can begin.
74+
Step R must be finished before step J can begin.
75+
Step O must be finished before step H can begin.
76+
Step O must be finished before step J can begin.
77+
Step L must be finished before step S can begin.
78+
Step A must be finished before step H can begin.
79+
Step K must be finished before step G can begin.
80+
Step I must be finished before step X can begin.
81+
Step T must be finished before step W can begin.
82+
Step O must be finished before step W can begin.
83+
Step N must be finished before step Q can begin.
84+
Step V must be finished before step Z can begin.
85+
Step H must be finished before step S can begin.
86+
Step F must be finished before step L can begin.
87+
Step X must be finished before step Z can begin.
88+
Step I must be finished before step U can begin.
89+
Step T must be finished before step J can begin.
90+
Step G must be finished before step S can begin.
91+
Step E must be finished before step U can begin.
92+
Step M must be finished before step U can begin.
93+
Step J must be finished before step U can begin.
94+
Step E must be finished before step P can begin.
95+
Step F must be finished before step C can begin.
96+
Step O must be finished before step Q can begin.
97+
Step D must be finished before step Q can begin.
98+
Step A must be finished before step L can begin.
99+
Step H must be finished before step J can begin.
100+
Step I must be finished before step P can begin.
101+
Step Y must be finished before step D can begin.

2018/inputs/7/test.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Step C must be finished before step A can begin.
2+
Step C must be finished before step F can begin.
3+
Step A must be finished before step B can begin.
4+
Step A must be finished before step D can begin.
5+
Step B must be finished before step E can begin.
6+
Step D must be finished before step E can begin.
7+
Step F must be finished before step E can begin.

2018/inputs/8/prod.txt

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

2018/inputs/8/test.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2 3 0 3 10 11 12 1 1 0 1 99 2 1 1 2

0 commit comments

Comments
 (0)