Skip to content

Commit ac09dd8

Browse files
committed
2024 Day 24.
1 parent b1e6049 commit ac09dd8

File tree

11 files changed

+971
-21
lines changed

11 files changed

+971
-21
lines changed

2024/24/Cargo.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
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

2024/24/data/example1

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
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

2024/24/data/example2

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
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

2024/24/data/input

Lines changed: 313 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,313 @@
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

2024/24/src/main.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
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+
}

0 commit comments

Comments
 (0)