File tree Expand file tree Collapse file tree 11 files changed +971
-21
lines changed Expand file tree Collapse file tree 11 files changed +971
-21
lines changed Original file line number Diff line number Diff line change 1+ [package ]
2+ name = " y2024d24"
3+ version = " 0.1.0"
4+ edition = " 2024"
5+
6+ [dependencies ]
7+ ascii = " 1.1.0"
8+ itertools.workspace = true
9+ parse-display.workspace = true
10+ parse-display-with.workspace = true
Original file line number Diff line number Diff line change 1+ x00: 1
2+ x01: 1
3+ x02: 1
4+ y00: 0
5+ y01: 1
6+ y02: 0
7+
8+ x00 AND y00 -> z00
9+ x01 XOR y01 -> z01
10+ x02 OR y02 -> z02
Original file line number Diff line number Diff line change 1+ x00: 1
2+ x01: 0
3+ x02: 1
4+ x03: 1
5+ x04: 0
6+ y00: 1
7+ y01: 1
8+ y02: 1
9+ y03: 1
10+ y04: 1
11+
12+ ntg XOR fgs -> mjb
13+ y02 OR x01 -> tnw
14+ kwq OR kpj -> z05
15+ x00 OR x03 -> fst
16+ tgd XOR rvg -> z01
17+ vdt OR tnw -> bfw
18+ bfw AND frj -> z10
19+ ffh OR nrd -> bqk
20+ y00 AND y03 -> djm
21+ y03 OR y00 -> psh
22+ bqk OR frj -> z08
23+ tnw OR fst -> frj
24+ gnj AND tgd -> z11
25+ bfw XOR mjb -> z00
26+ x03 OR x00 -> vdt
27+ gnj AND wpb -> z02
28+ x04 AND y00 -> kjc
29+ djm OR pbm -> qhw
30+ nrd AND vdt -> hwm
31+ kjc AND fst -> rvg
32+ y04 OR y02 -> fgs
33+ y01 AND x02 -> pbm
34+ ntg OR kjc -> kwq
35+ psh XOR fgs -> tgd
36+ qhw XOR tgd -> z09
37+ pbm OR djm -> kpj
38+ x03 XOR y03 -> ffh
39+ x00 XOR y04 -> ntg
40+ bfw OR bqk -> z06
41+ nrd XOR fgs -> wpb
42+ frj XOR qhw -> z04
43+ bqk OR frj -> z07
44+ y03 OR x01 -> nrd
45+ hwm AND bqk -> z03
46+ tgd XOR rvg -> z12
47+ tnw OR pbm -> gnj
Original file line number Diff line number Diff line change 1+ x00: 1
2+ x01: 1
3+ x02: 1
4+ x03: 1
5+ x04: 0
6+ x05: 1
7+ x06: 0
8+ x07: 1
9+ x08: 0
10+ x09: 1
11+ x10: 1
12+ x11: 1
13+ x12: 1
14+ x13: 0
15+ x14: 0
16+ x15: 0
17+ x16: 0
18+ x17: 1
19+ x18: 0
20+ x19: 0
21+ x20: 0
22+ x21: 1
23+ x22: 1
24+ x23: 0
25+ x24: 0
26+ x25: 0
27+ x26: 0
28+ x27: 1
29+ x28: 0
30+ x29: 0
31+ x30: 1
32+ x31: 0
33+ x32: 1
34+ x33: 1
35+ x34: 1
36+ x35: 0
37+ x36: 1
38+ x37: 0
39+ x38: 1
40+ x39: 1
41+ x40: 0
42+ x41: 1
43+ x42: 1
44+ x43: 0
45+ x44: 1
46+ y00: 1
47+ y01: 1
48+ y02: 1
49+ y03: 1
50+ y04: 1
51+ y05: 0
52+ y06: 0
53+ y07: 0
54+ y08: 0
55+ y09: 0
56+ y10: 1
57+ y11: 0
58+ y12: 0
59+ y13: 0
60+ y14: 0
61+ y15: 1
62+ y16: 1
63+ y17: 1
64+ y18: 1
65+ y19: 0
66+ y20: 0
67+ y21: 1
68+ y22: 1
69+ y23: 0
70+ y24: 0
71+ y25: 0
72+ y26: 1
73+ y27: 1
74+ y28: 1
75+ y29: 1
76+ y30: 1
77+ y31: 0
78+ y32: 0
79+ y33: 1
80+ y34: 1
81+ y35: 1
82+ y36: 0
83+ y37: 1
84+ y38: 0
85+ y39: 0
86+ y40: 1
87+ y41: 1
88+ y42: 1
89+ y43: 1
90+ y44: 1
91+
92+ ksf AND bqf -> jkw
93+ x42 AND y42 -> vgs
94+ wmv AND whq -> kjf
95+ mrj AND dnc -> gvs
96+ tjc OR hnb -> msv
97+ kpq AND rvw -> kck
98+ wvj OR hvw -> hqd
99+ fqp XOR qwj -> z20
100+ x28 XOR y28 -> qvr
101+ x20 AND y20 -> gqm
102+ cpd AND gcn -> sbs
103+ y07 AND x07 -> z07
104+ hnn OR jkw -> nff
105+ x39 XOR y39 -> rfr
106+ y15 XOR x15 -> mjw
107+ wmv XOR whq -> z05
108+ y22 XOR x22 -> kpq
109+ ncc AND cqs -> snr
110+ x24 XOR y24 -> vmk
111+ csm AND cbj -> dnt
112+ y02 XOR x02 -> gsh
113+ x00 AND y00 -> gmk
114+ vgr XOR gmk -> z01
115+ dmn XOR dsj -> z19
116+ vtd AND rfr -> sgk
117+ hch XOR nff -> dmn
118+ ghp OR qfs -> spk
119+ mhf AND tgs -> fdq
120+ x13 XOR y13 -> rhg
121+ y24 AND x24 -> hqt
122+ btp AND hsm -> jtg
123+ qqj XOR tqh -> z42
124+ x33 AND y33 -> hbn
125+ y12 AND x12 -> jns
126+ y01 XOR x01 -> vgr
127+ mvb AND mqd -> stp
128+ x10 AND y10 -> tgf
129+ wdt AND hqd -> shh
130+ jjc OR sgk -> rrb
131+ gsh AND nwk -> hhn
132+ x07 XOR y07 -> mvw
133+ y39 AND x39 -> jjc
134+ gcn XOR cpd -> z23
135+ vws OR qmp -> ksf
136+ kmq OR kqs -> rvw
137+ hkg XOR rrb -> z40
138+ qnm AND rfk -> z35
139+ y11 XOR x11 -> qjj
140+ gmf OR kdk -> vnn
141+ sbs OR rww -> gqk
142+ y30 AND x30 -> vqq
143+ x06 XOR y06 -> btp
144+ x01 AND y01 -> jvm
145+ x05 AND y05 -> wtq
146+ y27 AND x27 -> pft
147+ kqq OR mst -> cmt
148+ y17 XOR x17 -> bqf
149+ btg XOR mjw -> z15
150+ x16 XOR y16 -> fnb
151+ mbw XOR kth -> z36
152+ x41 AND y41 -> qqq
153+ hqn AND srg -> hfm
154+ swv OR gqm -> vmm
155+ qdd OR jdb -> z45
156+ mvd OR hqt -> nsp
157+ y10 XOR x10 -> mvb
158+ x20 XOR y20 -> qwj
159+ dqk OR vrv -> cqs
160+ gqk XOR vmk -> z24
161+ y16 AND x16 -> vws
162+ mpf AND jbj -> nnt
163+ fnb AND fpg -> qmp
164+ jtg OR hgj -> pmc
165+ nwk XOR gsh -> z02
166+ y32 AND x32 -> sdm
167+ qtf OR gkk -> njp
168+ qwj AND fqp -> swv
169+ jns OR fdq -> fmh
170+ y42 XOR x42 -> qqj
171+ bqf XOR ksf -> z17
172+ rfg AND nws -> cms
173+ mdq AND cmk -> qdd
174+ x21 XOR y21 -> tqw
175+ y41 XOR x41 -> gnj
176+ y33 XOR x33 -> dnc
177+ sjn XOR btf -> z03
178+ x23 XOR y23 -> cpd
179+ y27 XOR x27 -> mpf
180+ y31 XOR x31 -> kng
181+ vgs OR rmc -> rfg
182+ y22 AND x22 -> bhk
183+ y35 XOR x35 -> rfk
184+ wdt XOR hqd -> z14
185+ qvt OR nsh -> jbj
186+ fmk AND cmt -> ktk
187+ x06 AND y06 -> hgj
188+ qqq OR tmj -> tqh
189+ vmm AND tqw -> kqs
190+ rkh AND nsp -> gkk
191+ wcd AND smf -> gpc
192+ x36 XOR y36 -> kth
193+ x34 XOR y34 -> wcd
194+ rhg XOR fmh -> z13
195+ x00 XOR y00 -> z00
196+ y43 AND x43 -> tsb
197+ fsm OR jvm -> nwk
198+ gpt OR fsw -> vtd
199+ btg AND mjw -> ghs
200+ wmn OR gpc -> qnm
201+ x28 AND y28 -> mst
202+ y05 XOR x05 -> wmv
203+ y18 XOR x18 -> hch
204+ bws OR ghs -> fpg
205+ y44 AND x44 -> jdb
206+ kng AND mfw -> ghp
207+ y14 AND x14 -> wqc
208+ y32 XOR x32 -> bnm
209+ cjr OR nbd -> mqd
210+ y26 AND x26 -> qvt
211+ njp XOR kwd -> z26
212+ rvw XOR kpq -> z22
213+ bfm XOR jnw -> z38
214+ dsj AND dmn -> rsf
215+ rkw XOR whp -> z08
216+ x29 AND y29 -> rhq
217+ y40 XOR x40 -> hkg
218+ gqc OR rsf -> fqp
219+ x37 AND y37 -> ttv
220+ y15 AND x15 -> bws
221+ rhg AND fmh -> wvj
222+ x23 AND y23 -> rww
223+ mvb XOR mqd -> z10
224+ qvr XOR tfc -> z28
225+ x40 AND y40 -> kdk
226+ wnn OR gmt -> rkw
227+ x13 AND y13 -> hvw
228+ fpr XOR cnv -> z04
229+ x18 AND y18 -> khk
230+ rct OR cfk -> mbw
231+ fmk XOR cmt -> z29
232+ fpg XOR fnb -> z16
233+ y26 XOR x26 -> kwd
234+ x31 AND y31 -> qfs
235+ nff AND hch -> stg
236+ jjg OR ggr -> cnv
237+ kth AND mbw -> dqk
238+ btp XOR hsm -> z06
239+ qvr AND tfc -> kqq
240+ y35 AND x35 -> rct
241+ whp AND rkw -> tjc
242+ vcs XOR msv -> z09
243+ cmk XOR mdq -> z44
244+ rrb AND hkg -> gmf
245+ tgs XOR mhf -> z12
246+ y03 AND x03 -> jjg
247+ y12 XOR x12 -> tgs
248+ mvw AND pmc -> wnn
249+ x37 XOR y37 -> ncc
250+ y08 XOR x08 -> whp
251+ y04 XOR x04 -> fpr
252+ y34 AND x34 -> wmn
253+ y44 XOR x44 -> cmk
254+ x03 XOR y03 -> btf
255+ hqn XOR srg -> z30
256+ vnn XOR gnj -> z41
257+ btf AND sjn -> ggr
258+ vgr AND gmk -> fsm
259+ nsp XOR rkh -> z25
260+ y21 AND x21 -> kmq
261+ khk OR stg -> z18
262+ x19 AND y19 -> gqc
263+ y25 AND x25 -> qtf
264+ x14 XOR y14 -> wdt
265+ vmm XOR tqw -> z21
266+ x43 XOR y43 -> nws
267+ gvs OR hbn -> smf
268+ x17 AND y17 -> hnn
269+ nnt OR pft -> tfc
270+ pmc XOR mvw -> gmt
271+ x36 AND y36 -> vrv
272+ x09 AND y09 -> nbd
273+ cbj XOR csm -> z11
274+ kwd AND njp -> nsh
275+ tsb OR cms -> mdq
276+ vmk AND gqk -> mvd
277+ vtd XOR rfr -> z39
278+ dnc XOR mrj -> z33
279+ rfg XOR nws -> z43
280+ y30 XOR x30 -> srg
281+ x04 AND y04 -> mjc
282+ y38 XOR x38 -> bfm
283+ sdm OR tmd -> mrj
284+ ttv OR snr -> jnw
285+ tgf OR stp -> csm
286+ x38 AND y38 -> fsw
287+ hfm OR vqq -> mfw
288+ gnj AND vnn -> tmj
289+ x08 AND y08 -> hnb
290+ mfw XOR kng -> z31
291+ bhk OR kck -> gcn
292+ gfh OR mjc -> whq
293+ shh OR wqc -> btg
294+ mpf XOR jbj -> z27
295+ spk AND bnm -> tmd
296+ x09 XOR y09 -> vcs
297+ ncc XOR cqs -> z37
298+ wcd XOR smf -> z34
299+ spk XOR bnm -> z32
300+ qnm XOR rfk -> cfk
301+ dnt OR qjj -> mhf
302+ msv AND vcs -> cjr
303+ x02 AND y02 -> ksr
304+ x25 XOR y25 -> rkh
305+ rhq OR ktk -> hqn
306+ cnv AND fpr -> gfh
307+ x11 AND y11 -> cbj
308+ kjf OR wtq -> hsm
309+ x29 XOR y29 -> fmk
310+ bfm AND jnw -> gpt
311+ qqj AND tqh -> rmc
312+ hhn OR ksr -> sjn
313+ x19 XOR y19 -> dsj
Original file line number Diff line number Diff line change 1+ mod part1;
2+ mod part2;
3+ mod puzzle;
4+
5+ fn main ( ) {
6+ const INPUT : & ' static str = include_str ! ( "../data/input" ) ;
7+ println ! ( "Part 1: {}" , part1:: run( INPUT ) ) ;
8+ println ! ( "Part 2: {}" , part2:: run( INPUT ) ) ;
9+ }
You can’t perform that action at this time.
0 commit comments