Skip to content

Commit 0be8464

Browse files
committed
Solution for 2024-12-24 partly in rust and partly in python
1 parent 3bbd42f commit 0be8464

14 files changed

Lines changed: 1000 additions & 0 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,3 +130,5 @@ dmypy.json
130130

131131
# VS code config
132132
.vscode
133+
134+
tmp

2024/examples/day24_01.txt

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/examples/day24_02.txt

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/examples/day24_03.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
x00: 0
2+
x01: 1
3+
x02: 0
4+
x03: 1
5+
x04: 0
6+
x05: 1
7+
y00: 0
8+
y01: 0
9+
y02: 1
10+
y03: 1
11+
y04: 0
12+
y05: 1
13+
14+
x00 AND y00 -> z05
15+
x01 AND y01 -> z02
16+
x02 AND y02 -> z01
17+
x03 AND y03 -> z03
18+
x04 AND y04 -> z04
19+
x05 AND y05 -> z00

2024/inputs/day24.txt

Lines changed: 313 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,313 @@
1+
x00: 1
2+
x01: 0
3+
x02: 0
4+
x03: 1
5+
x04: 1
6+
x05: 0
7+
x06: 0
8+
x07: 0
9+
x08: 0
10+
x09: 0
11+
x10: 0
12+
x11: 1
13+
x12: 0
14+
x13: 1
15+
x14: 1
16+
x15: 1
17+
x16: 1
18+
x17: 0
19+
x18: 0
20+
x19: 1
21+
x20: 0
22+
x21: 0
23+
x22: 1
24+
x23: 1
25+
x24: 1
26+
x25: 0
27+
x26: 1
28+
x27: 1
29+
x28: 0
30+
x29: 1
31+
x30: 0
32+
x31: 1
33+
x32: 0
34+
x33: 1
35+
x34: 0
36+
x35: 1
37+
x36: 1
38+
x37: 0
39+
x38: 1
40+
x39: 1
41+
x40: 1
42+
x41: 1
43+
x42: 0
44+
x43: 1
45+
x44: 1
46+
y00: 1
47+
y01: 0
48+
y02: 0
49+
y03: 1
50+
y04: 1
51+
y05: 1
52+
y06: 0
53+
y07: 0
54+
y08: 0
55+
y09: 1
56+
y10: 0
57+
y11: 0
58+
y12: 0
59+
y13: 1
60+
y14: 1
61+
y15: 0
62+
y16: 1
63+
y17: 0
64+
y18: 1
65+
y19: 1
66+
y20: 1
67+
y21: 0
68+
y22: 0
69+
y23: 1
70+
y24: 1
71+
y25: 1
72+
y26: 0
73+
y27: 1
74+
y28: 0
75+
y29: 1
76+
y30: 0
77+
y31: 0
78+
y32: 0
79+
y33: 1
80+
y34: 1
81+
y35: 1
82+
y36: 1
83+
y37: 0
84+
y38: 0
85+
y39: 0
86+
y40: 0
87+
y41: 1
88+
y42: 0
89+
y43: 1
90+
y44: 1
91+
92+
x36 AND y36 -> rpc
93+
swn OR jrk -> kfm
94+
x36 XOR y36 -> mvv
95+
y28 XOR x28 -> rnh
96+
bfp OR wqc -> rgb
97+
tkc OR mfm -> brs
98+
kmb XOR gfj -> z16
99+
x25 AND y25 -> mdt
100+
mpp AND hfd -> gjp
101+
dhd AND mvb -> vrf
102+
y14 XOR x14 -> qvt
103+
shc OR bkk -> wvr
104+
x29 AND y29 -> gdn
105+
x11 XOR y11 -> jpp
106+
rws OR fts -> mpp
107+
wmq OR ngr -> knj
108+
x24 XOR y24 -> gfg
109+
tpf AND mgq -> tkc
110+
wvr XOR jgw -> fkp
111+
brs AND nmr -> qpb
112+
x18 AND y18 -> qsw
113+
pnb OR vjh -> sfh
114+
x44 XOR y44 -> gcd
115+
x22 AND y22 -> mhd
116+
x37 XOR y37 -> dgg
117+
vfj XOR dmh -> z15
118+
x30 XOR y30 -> qgd
119+
rpw OR gdn -> wrv
120+
ptj OR vqm -> vjn
121+
gfg AND pqf -> pnb
122+
x17 XOR y17 -> rtv
123+
y19 AND x19 -> wpt
124+
sfp AND sbq -> tcv
125+
hvv OR vmr -> kpq
126+
pgc XOR fvj -> z02
127+
knj AND ctw -> vqm
128+
y42 XOR x42 -> vfb
129+
y13 XOR x13 -> vdk
130+
x43 AND y43 -> nhd
131+
krg XOR dkw -> z43
132+
y32 AND x32 -> vdm
133+
hfd XOR mpp -> z08
134+
nfq OR qgm -> cqq
135+
x02 AND y02 -> nss
136+
rvw XOR dtb -> z10
137+
qvt AND qqv -> rgj
138+
mvv XOR sgr -> z36
139+
y11 AND x11 -> wmq
140+
cnd XOR jqv -> z29
141+
vdk XOR vjn -> z13
142+
x34 AND y34 -> kjj
143+
qvt XOR qqv -> z14
144+
y18 XOR x18 -> mkt
145+
bwk OR krn -> pqf
146+
nhs XOR cqq -> z41
147+
y31 AND x31 -> z31
148+
y23 AND x23 -> bwk
149+
sfh AND pmf -> ctp
150+
rvw AND dtb -> sgv
151+
tns AND chq -> dwv
152+
rqt XOR snv -> z22
153+
jqv AND cnd -> rpw
154+
x33 AND y33 -> vtd
155+
ctw XOR knj -> z12
156+
bpp OR ghf -> z06
157+
ffn AND rdj -> shc
158+
cfw OR tnc -> sgr
159+
wdm AND psv -> fwc
160+
vwn OR wpt -> bvc
161+
jkn OR gvk -> z45
162+
x00 XOR y00 -> z00
163+
qpf XOR mkt -> z18
164+
y12 AND x12 -> ptj
165+
dvq XOR rkm -> z04
166+
x15 XOR y15 -> dmh
167+
qrm OR nss -> wdm
168+
mhv OR mnv -> rcs
169+
qtq OR cqn -> nwk
170+
x20 XOR y20 -> tpw
171+
x04 AND y04 -> ptd
172+
nhd OR pnk -> mdn
173+
hjc OR hth -> pgc
174+
x20 AND y20 -> qtq
175+
gcd XOR mdn -> z44
176+
mgq XOR tpf -> mfm
177+
x30 AND y30 -> bbk
178+
dmh AND vfj -> cpc
179+
x44 AND y44 -> gvk
180+
dwv OR jvf -> jjj
181+
pkh AND fkp -> rws
182+
x39 AND y39 -> wqc
183+
fwc OR nbc -> rkm
184+
bdc AND bbd -> dnc
185+
x26 XOR y26 -> tns
186+
csh AND mst -> vwn
187+
x43 XOR y43 -> dkw
188+
bvc XOR tpw -> z20
189+
nwk XOR ngm -> z21
190+
rtv XOR kfm -> z17
191+
x06 AND y06 -> bpp
192+
x10 XOR y10 -> dtb
193+
y29 XOR x29 -> cnd
194+
y08 XOR x08 -> hfd
195+
y03 XOR x03 -> psv
196+
rgj OR bph -> vfj
197+
psv XOR wdm -> z03
198+
dnc OR vtd -> mvb
199+
gcn AND tqf -> krn
200+
y38 XOR x38 -> krj
201+
x24 AND y24 -> vjh
202+
y41 AND x41 -> vmr
203+
jgw AND wvr -> ghf
204+
x09 XOR y09 -> sfp
205+
y28 AND x28 -> wpw
206+
x40 XOR y40 -> mkc
207+
hsn AND dgg -> snc
208+
jpp XOR stv -> ngr
209+
mjb OR cpc -> gfj
210+
rcs XOR rnh -> z28
211+
sfp XOR sbq -> z09
212+
rtv AND kfm -> jfr
213+
tjh OR wpw -> jqv
214+
x16 XOR y16 -> kmb
215+
bgn OR wnm -> snv
216+
nmr XOR brs -> z32
217+
rpc OR dvm -> hsn
218+
gfg XOR pqf -> z24
219+
dkw AND krg -> pnk
220+
kmb AND gfj -> jrk
221+
skt XOR kjn -> z01
222+
gcn XOR tqf -> z23
223+
jjj XOR rhc -> z27
224+
y07 AND x07 -> fts
225+
y21 AND x21 -> wnm
226+
kvd OR snc -> ntr
227+
nht XOR hsp -> z39
228+
wrv XOR qgd -> z30
229+
y07 XOR x07 -> pkh
230+
tdv OR krj -> hsp
231+
stv AND jpp -> z11
232+
x27 AND y27 -> mhv
233+
bdc XOR bbd -> z33
234+
x12 XOR y12 -> ctw
235+
mvv AND sgr -> dvm
236+
x27 XOR y27 -> rhc
237+
x21 XOR y21 -> ngm
238+
mhn XOR mdg -> z35
239+
x19 XOR y19 -> csh
240+
y35 XOR x35 -> mhn
241+
snv AND rqt -> tfs
242+
rkm AND dvq -> cjp
243+
pgc AND fvj -> qrm
244+
kpq XOR vfb -> z42
245+
qgd AND wrv -> gqt
246+
y26 AND x26 -> jvf
247+
x39 XOR y39 -> nht
248+
vdk AND vjn -> jqm
249+
bvc AND tpw -> cqn
250+
y32 XOR x32 -> nmr
251+
x25 XOR y25 -> pmf
252+
y09 AND x09 -> prs
253+
y14 AND x14 -> bph
254+
qpb OR vdm -> bdc
255+
gqt OR bbk -> tpf
256+
x40 AND y40 -> qgm
257+
sfh XOR pmf -> z25
258+
x22 XOR y22 -> rqt
259+
rhc AND jjj -> mnv
260+
csh XOR mst -> z19
261+
x42 AND y42 -> krw
262+
x34 XOR y34 -> dhd
263+
x35 AND y35 -> tnc
264+
ngm AND nwk -> bgn
265+
tdh OR jqm -> qqv
266+
y00 AND x00 -> skt
267+
y41 XOR x41 -> nhs
268+
ntr XOR bpt -> z38
269+
vrf OR kjj -> mdg
270+
kvf OR krw -> krg
271+
x03 AND y03 -> nbc
272+
dhd XOR mvb -> z34
273+
qpf AND mkt -> rsd
274+
y01 XOR x01 -> kjn
275+
x17 AND y17 -> bvg
276+
jfr OR bvg -> qpf
277+
y13 AND x13 -> tdh
278+
bpb OR gjp -> sbq
279+
x16 AND y16 -> swn
280+
x02 XOR y02 -> fvj
281+
y15 AND x15 -> mjb
282+
x23 XOR y23 -> tqf
283+
rnh AND rcs -> tjh
284+
x05 AND y05 -> bkk
285+
hsn XOR dgg -> z37
286+
qsw OR rsd -> mst
287+
sgv OR qnf -> stv
288+
y01 AND x01 -> hth
289+
y38 AND x38 -> bpt
290+
rgb AND mkc -> nfq
291+
y33 XOR x33 -> bbd
292+
tns XOR chq -> z26
293+
ctp OR mdt -> chq
294+
nhs AND cqq -> hvv
295+
pkh XOR fkp -> z07
296+
rdj XOR ffn -> z05
297+
mhd OR tfs -> gcn
298+
y10 AND x10 -> qnf
299+
hsp AND nht -> bfp
300+
gcd AND mdn -> jkn
301+
ntr AND bpt -> tdv
302+
prs OR tcv -> rvw
303+
x05 XOR y05 -> ffn
304+
y04 XOR x04 -> dvq
305+
x31 XOR y31 -> mgq
306+
y08 AND x08 -> bpb
307+
mhn AND mdg -> cfw
308+
y37 AND x37 -> kvd
309+
rgb XOR mkc -> z40
310+
cjp OR ptd -> rdj
311+
x06 XOR y06 -> jgw
312+
skt AND kjn -> hjc
313+
vfb AND kpq -> kvf

0 commit comments

Comments
 (0)