Skip to content

Commit 5b7437a

Browse files
committed
Year 2015 Day 7
1 parent 23e0b49 commit 5b7437a

File tree

8 files changed

+448
-1
lines changed

8 files changed

+448
-1
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,4 @@ pie
125125
| 4 | [The Ideal Stocking Stuffer](https://adventofcode.com/2015/day/4) | [Source](src/year2015/day04.rs) | 876777 |
126126
| 5 | [Doesn't He Have Intern-Elves For This?](https://adventofcode.com/2015/day/5) | [Source](src/year2015/day05.rs) | 39 |
127127
| 6 | [Probably a Fire Hazard](https://adventofcode.com/2015/day/6) | [Source](src/year2015/day06.rs) | 5294 |
128+
| 7 | [Some Assembly Required](https://adventofcode.com/2015/day/7) | [Source](src/year2015/day07.rs) | 33 |

benches/benchmark.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,5 @@ benchmark!(year2015_day02, year2015, day02);
9292
benchmark!(year2015_day03, year2015, day03);
9393
//benchmark!(year2015_day04, year2015, day04); // Very slow
9494
benchmark!(year2015_day05, year2015, day05);
95-
benchmark!(year2015_day06, year2015, day06);
95+
benchmark!(year2015_day06, year2015, day06);
96+
benchmark!(year2015_day07, year2015, day07);

input/year2015/day07.txt

+339
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,339 @@
1+
NOT dq -> dr
2+
kg OR kf -> kh
3+
ep OR eo -> eq
4+
44430 -> b
5+
NOT gs -> gt
6+
dd OR do -> dp
7+
eg AND ei -> ej
8+
y AND ae -> ag
9+
jx AND jz -> ka
10+
lf RSHIFT 2 -> lg
11+
z AND aa -> ac
12+
dy AND ej -> el
13+
bj OR bi -> bk
14+
kk RSHIFT 3 -> km
15+
NOT cn -> co
16+
gn AND gp -> gq
17+
cq AND cs -> ct
18+
eo LSHIFT 15 -> es
19+
lg OR lm -> ln
20+
dy OR ej -> ek
21+
NOT di -> dj
22+
1 AND fi -> fj
23+
kf LSHIFT 15 -> kj
24+
NOT jy -> jz
25+
NOT ft -> fu
26+
fs AND fu -> fv
27+
NOT hr -> hs
28+
ck OR cl -> cm
29+
jp RSHIFT 5 -> js
30+
iv OR jb -> jc
31+
is OR it -> iu
32+
ld OR le -> lf
33+
NOT fc -> fd
34+
NOT dm -> dn
35+
bn OR by -> bz
36+
aj AND al -> am
37+
cd LSHIFT 15 -> ch
38+
jp AND ka -> kc
39+
ci OR ct -> cu
40+
gv AND gx -> gy
41+
de AND dk -> dm
42+
x RSHIFT 5 -> aa
43+
et RSHIFT 2 -> eu
44+
x RSHIFT 1 -> aq
45+
ia OR ig -> ih
46+
bk LSHIFT 1 -> ce
47+
y OR ae -> af
48+
NOT ca -> cb
49+
e AND f -> h
50+
ia AND ig -> ii
51+
ck AND cl -> cn
52+
NOT jh -> ji
53+
z OR aa -> ab
54+
1 AND en -> eo
55+
ib AND ic -> ie
56+
NOT eh -> ei
57+
iy AND ja -> jb
58+
NOT bb -> bc
59+
ha OR gz -> hb
60+
1 AND cx -> cy
61+
NOT ax -> ay
62+
ev OR ew -> ex
63+
bn RSHIFT 2 -> bo
64+
er OR es -> et
65+
eu OR fa -> fb
66+
jp OR ka -> kb
67+
ea AND eb -> ed
68+
k AND m -> n
69+
et RSHIFT 3 -> ev
70+
et RSHIFT 5 -> ew
71+
hz RSHIFT 1 -> is
72+
ki OR kj -> kk
73+
NOT h -> i
74+
lv LSHIFT 15 -> lz
75+
as RSHIFT 1 -> bl
76+
hu LSHIFT 15 -> hy
77+
iw AND ix -> iz
78+
lf RSHIFT 1 -> ly
79+
fp OR fv -> fw
80+
1 AND am -> an
81+
ap LSHIFT 1 -> bj
82+
u LSHIFT 1 -> ao
83+
b RSHIFT 5 -> f
84+
jq AND jw -> jy
85+
iu RSHIFT 3 -> iw
86+
ih AND ij -> ik
87+
NOT iz -> ja
88+
de OR dk -> dl
89+
iu OR jf -> jg
90+
as AND bd -> bf
91+
b RSHIFT 3 -> e
92+
jq OR jw -> jx
93+
iv AND jb -> jd
94+
cg OR ch -> ci
95+
iu AND jf -> jh
96+
lx -> a
97+
1 AND cc -> cd
98+
ly OR lz -> ma
99+
NOT el -> em
100+
1 AND bh -> bi
101+
fb AND fd -> fe
102+
lf OR lq -> lr
103+
bn RSHIFT 3 -> bp
104+
bn AND by -> ca
105+
af AND ah -> ai
106+
cf LSHIFT 1 -> cz
107+
dw OR dx -> dy
108+
gj AND gu -> gw
109+
jg AND ji -> jj
110+
jr OR js -> jt
111+
bl OR bm -> bn
112+
gj RSHIFT 2 -> gk
113+
cj OR cp -> cq
114+
gj OR gu -> gv
115+
b OR n -> o
116+
o AND q -> r
117+
bi LSHIFT 15 -> bm
118+
dy RSHIFT 1 -> er
119+
cu AND cw -> cx
120+
iw OR ix -> iy
121+
hc OR hd -> he
122+
0 -> c
123+
db OR dc -> dd
124+
kk RSHIFT 2 -> kl
125+
eq LSHIFT 1 -> fk
126+
dz OR ef -> eg
127+
NOT ed -> ee
128+
lw OR lv -> lx
129+
fw AND fy -> fz
130+
dz AND ef -> eh
131+
jp RSHIFT 3 -> jr
132+
lg AND lm -> lo
133+
ci RSHIFT 2 -> cj
134+
be AND bg -> bh
135+
lc LSHIFT 1 -> lw
136+
hm AND ho -> hp
137+
jr AND js -> ju
138+
1 AND io -> ip
139+
cm AND co -> cp
140+
ib OR ic -> id
141+
NOT bf -> bg
142+
fo RSHIFT 5 -> fr
143+
ip LSHIFT 15 -> it
144+
jt AND jv -> jw
145+
jc AND je -> jf
146+
du OR dt -> dv
147+
NOT fx -> fy
148+
aw AND ay -> az
149+
ge LSHIFT 15 -> gi
150+
NOT ak -> al
151+
fm OR fn -> fo
152+
ff AND fh -> fi
153+
ci RSHIFT 5 -> cl
154+
cz OR cy -> da
155+
NOT ey -> ez
156+
NOT ju -> jv
157+
NOT ls -> lt
158+
kk AND kv -> kx
159+
NOT ii -> ij
160+
kl AND kr -> kt
161+
jk LSHIFT 15 -> jo
162+
e OR f -> g
163+
NOT bs -> bt
164+
hi AND hk -> hl
165+
hz OR ik -> il
166+
ek AND em -> en
167+
ao OR an -> ap
168+
dv LSHIFT 1 -> ep
169+
an LSHIFT 15 -> ar
170+
fo RSHIFT 1 -> gh
171+
NOT im -> in
172+
kk RSHIFT 1 -> ld
173+
hw LSHIFT 1 -> iq
174+
ec AND ee -> ef
175+
hb LSHIFT 1 -> hv
176+
kb AND kd -> ke
177+
x AND ai -> ak
178+
dd AND do -> dq
179+
aq OR ar -> as
180+
iq OR ip -> ir
181+
dl AND dn -> do
182+
iu RSHIFT 5 -> ix
183+
as OR bd -> be
184+
NOT go -> gp
185+
fk OR fj -> fl
186+
jm LSHIFT 1 -> kg
187+
NOT cv -> cw
188+
dp AND dr -> ds
189+
dt LSHIFT 15 -> dx
190+
et RSHIFT 1 -> fm
191+
dy RSHIFT 3 -> ea
192+
fp AND fv -> fx
193+
NOT p -> q
194+
dd RSHIFT 2 -> de
195+
eu AND fa -> fc
196+
ba AND bc -> bd
197+
dh AND dj -> dk
198+
lr AND lt -> lu
199+
he RSHIFT 1 -> hx
200+
ex AND ez -> fa
201+
df OR dg -> dh
202+
fj LSHIFT 15 -> fn
203+
NOT kx -> ky
204+
gk OR gq -> gr
205+
dy RSHIFT 2 -> dz
206+
gh OR gi -> gj
207+
lj AND ll -> lm
208+
x OR ai -> aj
209+
bz AND cb -> cc
210+
1 AND lu -> lv
211+
as RSHIFT 3 -> au
212+
ce OR cd -> cf
213+
il AND in -> io
214+
dd RSHIFT 1 -> dw
215+
NOT lo -> lp
216+
c LSHIFT 1 -> t
217+
dd RSHIFT 3 -> df
218+
dd RSHIFT 5 -> dg
219+
lh AND li -> lk
220+
lf RSHIFT 5 -> li
221+
dy RSHIFT 5 -> eb
222+
NOT kt -> ku
223+
at OR az -> ba
224+
x RSHIFT 3 -> z
225+
NOT lk -> ll
226+
lb OR la -> lc
227+
1 AND r -> s
228+
lh OR li -> lj
229+
ln AND lp -> lq
230+
kk RSHIFT 5 -> kn
231+
ea OR eb -> ec
232+
ci AND ct -> cv
233+
b RSHIFT 2 -> d
234+
jp RSHIFT 1 -> ki
235+
NOT cr -> cs
236+
NOT jd -> je
237+
jp RSHIFT 2 -> jq
238+
jn OR jo -> jp
239+
lf RSHIFT 3 -> lh
240+
1 AND ds -> dt
241+
lf AND lq -> ls
242+
la LSHIFT 15 -> le
243+
NOT fg -> fh
244+
at AND az -> bb
245+
au AND av -> ax
246+
kw AND ky -> kz
247+
v OR w -> x
248+
kk OR kv -> kw
249+
ks AND ku -> kv
250+
kh LSHIFT 1 -> lb
251+
1 AND kz -> la
252+
NOT kc -> kd
253+
x RSHIFT 2 -> y
254+
et OR fe -> ff
255+
et AND fe -> fg
256+
NOT ac -> ad
257+
jl OR jk -> jm
258+
1 AND jj -> jk
259+
bn RSHIFT 1 -> cg
260+
NOT kp -> kq
261+
ci RSHIFT 3 -> ck
262+
ev AND ew -> ey
263+
1 AND ke -> kf
264+
cj AND cp -> cr
265+
ir LSHIFT 1 -> jl
266+
NOT gw -> gx
267+
as RSHIFT 2 -> at
268+
iu RSHIFT 1 -> jn
269+
cy LSHIFT 15 -> dc
270+
hg OR hh -> hi
271+
ci RSHIFT 1 -> db
272+
au OR av -> aw
273+
km AND kn -> kp
274+
gj RSHIFT 1 -> hc
275+
iu RSHIFT 2 -> iv
276+
ab AND ad -> ae
277+
da LSHIFT 1 -> du
278+
NOT bw -> bx
279+
km OR kn -> ko
280+
ko AND kq -> kr
281+
bv AND bx -> by
282+
kl OR kr -> ks
283+
1 AND ht -> hu
284+
df AND dg -> di
285+
NOT ag -> ah
286+
d OR j -> k
287+
d AND j -> l
288+
b AND n -> p
289+
gf OR ge -> gg
290+
gg LSHIFT 1 -> ha
291+
bn RSHIFT 5 -> bq
292+
bo OR bu -> bv
293+
1 AND gy -> gz
294+
s LSHIFT 15 -> w
295+
NOT ie -> if
296+
as RSHIFT 5 -> av
297+
bo AND bu -> bw
298+
hz AND ik -> im
299+
bp AND bq -> bs
300+
b RSHIFT 1 -> v
301+
NOT l -> m
302+
bp OR bq -> br
303+
g AND i -> j
304+
br AND bt -> bu
305+
t OR s -> u
306+
hz RSHIFT 5 -> ic
307+
gk AND gq -> gs
308+
fl LSHIFT 1 -> gf
309+
he RSHIFT 3 -> hg
310+
gz LSHIFT 15 -> hd
311+
hf OR hl -> hm
312+
1 AND gd -> ge
313+
fo OR fz -> ga
314+
id AND if -> ig
315+
fo AND fz -> gb
316+
gr AND gt -> gu
317+
he OR hp -> hq
318+
fq AND fr -> ft
319+
ga AND gc -> gd
320+
fo RSHIFT 2 -> fp
321+
gl OR gm -> gn
322+
hg AND hh -> hj
323+
NOT hn -> ho
324+
gl AND gm -> go
325+
he RSHIFT 5 -> hh
326+
NOT gb -> gc
327+
hq AND hs -> ht
328+
hz RSHIFT 3 -> ib
329+
hz RSHIFT 2 -> ia
330+
fq OR fr -> fs
331+
hx OR hy -> hz
332+
he AND hp -> hr
333+
gj RSHIFT 5 -> gm
334+
hf AND hl -> hn
335+
hv OR hu -> hw
336+
NOT hj -> hk
337+
gj RSHIFT 3 -> gl
338+
fo RSHIFT 3 -> fq
339+
he RSHIFT 2 -> hf

src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,5 @@ pub mod year2015 {
8080
pub mod day04;
8181
pub mod day05;
8282
pub mod day06;
83+
pub mod day07;
8384
}

src/main.rs

+1
Original file line numberDiff line numberDiff line change
@@ -172,5 +172,6 @@ fn all_solutions() -> Vec<Solution> {
172172
// solution!(year2015, day04), // Very slow
173173
solution!(year2015, day05),
174174
solution!(year2015, day06),
175+
solution!(year2015, day07),
175176
]
176177
}

0 commit comments

Comments
 (0)