Skip to content

Commit cafc172

Browse files
committed
added 2018/day10
1 parent 38e1ccf commit cafc172

File tree

4 files changed

+392
-1
lines changed

4 files changed

+392
-1
lines changed

2018/day10/answers.txt

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

2018/day10/input.txt

Lines changed: 341 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,341 @@
1+
position=<-10351, -10360> velocity=< 1, 1>
2+
position=< 52528, 31539> velocity=<-5, -3>
3+
position=<-31270, -20838> velocity=< 3, 2>
4+
position=< 52486, -10365> velocity=<-5, 1>
5+
position=< 31558, 10589> velocity=<-3, -1>
6+
position=<-52253, 21064> velocity=< 5, -2>
7+
position=<-10354, 42015> velocity=< 1, -4>
8+
position=<-41798, 42013> velocity=< 4, -4>
9+
position=<-52253, -52267> velocity=< 5, 5>
10+
position=< 31550, -41793> velocity=<-3, 4>
11+
position=<-31290, 10591> velocity=< 3, -1>
12+
position=< 31542, -10363> velocity=<-3, 1>
13+
position=< 21117, 52487> velocity=<-2, -5>
14+
position=< 21074, -41796> velocity=<-2, 4>
15+
position=< 10619, -20840> velocity=<-1, 2>
16+
position=< 31562, 52495> velocity=<-3, -5>
17+
position=< 31586, -20844> velocity=<-3, 2>
18+
position=<-20837, 42020> velocity=< 2, -4>
19+
position=< 52486, 10589> velocity=<-5, -1>
20+
position=< 52518, -31313> velocity=<-5, 3>
21+
position=<-31286, 21063> velocity=< 3, -2>
22+
position=< 31536, -41793> velocity=<-3, 4>
23+
position=< 52523, -52268> velocity=<-5, 5>
24+
position=<-20830, -10364> velocity=< 2, 1>
25+
position=< 31568, 10587> velocity=<-3, -1>
26+
position=< 21116, -10369> velocity=<-2, 1>
27+
position=< 31558, 21060> velocity=<-3, -2>
28+
position=< 21074, 42013> velocity=<-2, -4>
29+
position=< 21114, 42015> velocity=<-2, -4>
30+
position=<-52231, -52269> velocity=< 5, 5>
31+
position=<-20819, 21064> velocity=< 2, -2>
32+
position=< 42062, -10365> velocity=<-4, 1>
33+
position=<-31271, 52496> velocity=< 3, -5>
34+
position=< 10598, -41791> velocity=<-1, 4>
35+
position=< 42038, -10361> velocity=<-4, 1>
36+
position=< 42047, -52273> velocity=<-4, 5>
37+
position=<-31290, 10591> velocity=< 3, -1>
38+
position=<-41742, 21066> velocity=< 4, -2>
39+
position=< 31590, -41790> velocity=<-3, 4>
40+
position=<-31314, -10360> velocity=< 3, 1>
41+
position=< 42011, 42011> velocity=<-4, -4>
42+
position=<-10366, 10583> velocity=< 1, -1>
43+
position=<-10349, -20844> velocity=< 1, 2>
44+
position=<-20806, -41790> velocity=< 2, 4>
45+
position=< 42018, 52494> velocity=<-4, -5>
46+
position=<-41746, -52271> velocity=< 4, 5>
47+
position=< 52507, 10590> velocity=<-5, -1>
48+
position=<-20793, 52487> velocity=< 2, -5>
49+
position=< 21106, 21067> velocity=<-2, -2>
50+
position=< 42047, 21063> velocity=<-4, -2>
51+
position=<-20794, -31321> velocity=< 2, 3>
52+
position=< 10611, -20838> velocity=<-1, 2>
53+
position=<-41742, -41793> velocity=< 4, 4>
54+
position=<-41747, -31321> velocity=< 4, 3>
55+
position=<-20838, -10367> velocity=< 2, 1>
56+
position=<-52274, -31314> velocity=< 5, 3>
57+
position=< 52526, -20841> velocity=<-5, 2>
58+
position=< 21066, 42017> velocity=<-2, -4>
59+
position=<-10354, -41789> velocity=< 1, 4>
60+
position=<-10326, 31535> velocity=< 1, -3>
61+
position=< 42062, -20837> velocity=<-4, 2>
62+
position=<-10346, 31539> velocity=< 1, -3>
63+
position=< 21090, 52494> velocity=<-2, -5>
64+
position=<-20829, -41797> velocity=< 2, 4>
65+
position=< 21077, 21068> velocity=<-2, -2>
66+
position=<-20814, -20845> velocity=< 2, 2>
67+
position=< 21103, -10366> velocity=<-2, 1>
68+
position=<-52250, -52266> velocity=< 5, 5>
69+
position=<-10341, 31537> velocity=< 1, -3>
70+
position=< 10603, -20839> velocity=<-1, 2>
71+
position=<-41782, -20839> velocity=< 4, 2>
72+
position=<-52226, -41790> velocity=< 5, 4>
73+
position=< 31586, -41791> velocity=<-3, 4>
74+
position=<-20790, 31543> velocity=< 2, -3>
75+
position=< 31575, -41793> velocity=<-3, 4>
76+
position=< 52490, 42011> velocity=<-5, -4>
77+
position=<-41741, 31535> velocity=< 4, -3>
78+
position=<-10318, -31316> velocity=< 1, 3>
79+
position=< 10585, -10369> velocity=<-1, 1>
80+
position=< 10606, 10591> velocity=<-1, -1>
81+
position=< 52510, 31544> velocity=<-5, -3>
82+
position=<-20846, -20840> velocity=< 2, 2>
83+
position=< 21058, 52490> velocity=<-2, -5>
84+
position=<-10367, -31321> velocity=< 1, 3>
85+
position=<-41774, 21062> velocity=< 4, -2>
86+
position=<-52254, 52492> velocity=< 5, -5>
87+
position=< 10640, -10360> velocity=<-1, 1>
88+
position=<-20846, -20839> velocity=< 2, 2>
89+
position=<-10341, -52272> velocity=< 1, 5>
90+
position=<-10330, -10363> velocity=< 1, 1>
91+
position=<-10353, -41797> velocity=< 1, 4>
92+
position=<-41782, 52494> velocity=< 4, -5>
93+
position=<-41761, 10584> velocity=< 4, -1>
94+
position=< 42018, -10369> velocity=<-4, 1>
95+
position=<-10365, 42014> velocity=< 1, -4>
96+
position=<-10318, 42018> velocity=< 1, -4>
97+
position=<-52242, -31315> velocity=< 5, 3>
98+
position=< 21095, -20838> velocity=<-2, 2>
99+
position=< 21058, -10368> velocity=<-2, 1>
100+
position=<-31282, 10584> velocity=< 3, -1>
101+
position=<-31322, -31321> velocity=< 3, 3>
102+
position=< 21117, -52273> velocity=<-2, 5>
103+
position=< 31543, 52496> velocity=<-3, -5>
104+
position=< 52538, 21066> velocity=<-5, -2>
105+
position=< 10582, 52492> velocity=<-1, -5>
106+
position=<-41777, -52265> velocity=< 4, 5>
107+
position=<-10357, -52264> velocity=< 1, 5>
108+
position=< 42053, 31535> velocity=<-4, -3>
109+
position=< 42028, -20845> velocity=<-4, 2>
110+
position=<-10326, -20845> velocity=< 1, 2>
111+
position=< 10638, 10585> velocity=<-1, -1>
112+
position=< 31591, 42020> velocity=<-3, -4>
113+
position=< 52505, -52273> velocity=<-5, 5>
114+
position=<-10338, 21059> velocity=< 1, -2>
115+
position=<-10341, 42012> velocity=< 1, -4>
116+
position=< 31566, 31544> velocity=<-3, -3>
117+
position=<-52215, -10360> velocity=< 5, 1>
118+
position=< 52526, 21060> velocity=<-5, -2>
119+
position=< 10638, 10589> velocity=<-1, -1>
120+
position=< 42034, 10584> velocity=<-4, -1>
121+
position=< 31553, -52264> velocity=<-3, 5>
122+
position=<-10353, -10360> velocity=< 1, 1>
123+
position=<-20795, -31321> velocity=< 2, 3>
124+
position=<-20830, 42014> velocity=< 2, -4>
125+
position=< 10606, -31319> velocity=<-1, 3>
126+
position=<-20814, -41796> velocity=< 2, 4>
127+
position=<-52239, 31539> velocity=< 5, -3>
128+
position=< 31586, 10586> velocity=<-3, -1>
129+
position=<-10318, 31540> velocity=< 1, -3>
130+
position=< 10643, 10584> velocity=<-1, -1>
131+
position=< 42042, 10592> velocity=<-4, -1>
132+
position=<-41749, -10360> velocity=< 4, 1>
133+
position=<-41774, 52490> velocity=< 4, -5>
134+
position=< 31590, 31536> velocity=<-3, -3>
135+
position=<-10350, -41789> velocity=< 1, 4>
136+
position=< 42047, -52264> velocity=<-4, 5>
137+
position=< 10631, -20836> velocity=<-1, 2>
138+
position=< 52542, -52270> velocity=<-5, 5>
139+
position=<-52266, 21062> velocity=< 5, -2>
140+
position=<-52258, -10363> velocity=< 5, 1>
141+
position=<-41793, 42016> velocity=< 4, -4>
142+
position=<-31277, -10367> velocity=< 3, 1>
143+
position=< 52510, -52270> velocity=<-5, 5>
144+
position=<-20842, -52269> velocity=< 2, 5>
145+
position=< 10630, -10362> velocity=<-1, 1>
146+
position=< 21082, 42011> velocity=<-2, -4>
147+
position=< 21062, 52487> velocity=<-2, -5>
148+
position=< 52503, 31544> velocity=<-5, -3>
149+
position=< 10587, -31318> velocity=<-1, 3>
150+
position=<-41766, 42015> velocity=< 4, -4>
151+
position=<-52245, -52267> velocity=< 5, 5>
152+
position=<-31277, 31538> velocity=< 3, -3>
153+
position=<-10362, 10583> velocity=< 1, -1>
154+
position=< 31593, 52496> velocity=<-3, -5>
155+
position=< 21108, -20836> velocity=<-2, 2>
156+
position=<-52266, 52490> velocity=< 5, -5>
157+
position=< 21094, -10365> velocity=<-2, 1>
158+
position=< 31575, -20841> velocity=<-3, 2>
159+
position=<-31285, 42013> velocity=< 3, -4>
160+
position=< 10625, 10583> velocity=<-1, -1>
161+
position=<-10313, -52264> velocity=< 1, 5>
162+
position=< 42036, 42014> velocity=<-4, -4>
163+
position=< 31561, 10589> velocity=<-3, -1>
164+
position=< 10624, -41793> velocity=<-1, 4>
165+
position=<-52274, -31314> velocity=< 5, 3>
166+
position=< 10587, -10361> velocity=<-1, 1>
167+
position=< 31545, -41788> velocity=<-3, 4>
168+
position=< 21063, -20838> velocity=<-2, 2>
169+
position=<-52234, -41790> velocity=< 5, 4>
170+
position=< 52523, 52490> velocity=<-5, -5>
171+
position=< 42047, -10361> velocity=<-4, 1>
172+
position=<-41774, 10587> velocity=< 4, -1>
173+
position=<-52274, 42013> velocity=< 5, -4>
174+
position=< 21106, 52494> velocity=<-2, -5>
175+
position=< 52546, -10360> velocity=<-5, 1>
176+
position=< 10633, -20836> velocity=<-1, 2>
177+
position=<-10370, -20844> velocity=< 1, 2>
178+
position=< 42030, -20837> velocity=<-4, 2>
179+
position=< 21075, 42020> velocity=<-2, -4>
180+
position=<-20820, 21063> velocity=< 2, -2>
181+
position=< 10622, 21062> velocity=<-1, -2>
182+
position=< 42066, 21065> velocity=<-4, -2>
183+
position=< 52528, -52273> velocity=<-5, 5>
184+
position=< 10610, -31313> velocity=<-1, 3>
185+
position=<-10370, -20837> velocity=< 1, 2>
186+
position=<-20788, 31535> velocity=< 2, -3>
187+
position=<-20844, 52487> velocity=< 2, -5>
188+
position=< 52510, -41788> velocity=<-5, 4>
189+
position=< 31566, -20844> velocity=<-3, 2>
190+
position=< 42047, 42012> velocity=<-4, -4>
191+
position=<-31282, -41789> velocity=< 3, 4>
192+
position=<-41742, 52493> velocity=< 4, -5>
193+
position=<-41758, 21061> velocity=< 4, -2>
194+
position=< 31579, 52489> velocity=<-3, -5>
195+
position=<-31317, 42013> velocity=< 3, -4>
196+
position=< 10611, 21059> velocity=<-1, -2>
197+
position=< 31535, -41797> velocity=<-3, 4>
198+
position=<-10338, -10365> velocity=< 1, 1>
199+
position=<-52261, 31544> velocity=< 5, -3>
200+
position=<-10368, -10369> velocity=< 1, 1>
201+
position=<-41746, 10587> velocity=< 4, -1>
202+
position=< 31571, 31535> velocity=<-3, -3>
203+
position=<-20786, -10360> velocity=< 2, 1>
204+
position=<-52258, 10584> velocity=< 5, -1>
205+
position=< 52494, -31315> velocity=<-5, 3>
206+
position=<-31317, 52492> velocity=< 3, -5>
207+
position=< 31566, -20839> velocity=<-3, 2>
208+
position=<-20825, -52264> velocity=< 2, 5>
209+
position=< 10614, -10366> velocity=<-1, 1>
210+
position=<-31277, -10366> velocity=< 3, 1>
211+
position=< 52488, 42020> velocity=<-5, -4>
212+
position=<-41795, 31539> velocity=< 4, -3>
213+
position=< 52520, -52269> velocity=<-5, 5>
214+
position=< 21070, 52496> velocity=<-2, -5>
215+
position=<-31293, -31315> velocity=< 3, 3>
216+
position=<-10314, 42016> velocity=< 1, -4>
217+
position=<-20814, -31319> velocity=< 2, 3>
218+
position=<-41777, -52265> velocity=< 4, 5>
219+
position=< 21079, 52494> velocity=<-2, -5>
220+
position=< 21101, -10369> velocity=<-2, 1>
221+
position=<-20821, 31537> velocity=< 2, -3>
222+
position=<-20802, 21063> velocity=< 2, -2>
223+
position=< 52531, 21060> velocity=<-5, -2>
224+
position=<-20828, 52496> velocity=< 2, -5>
225+
position=< 10590, 52488> velocity=<-1, -5>
226+
position=< 52511, 31537> velocity=<-5, -3>
227+
position=<-20817, -20839> velocity=< 2, 2>
228+
position=< 21082, 10587> velocity=<-2, -1>
229+
position=< 52530, -31321> velocity=<-5, 3>
230+
position=<-41782, -41795> velocity=< 4, 4>
231+
position=< 42034, -10360> velocity=<-4, 1>
232+
position=<-41765, -20841> velocity=< 4, 2>
233+
position=<-41788, 42020> velocity=< 4, -4>
234+
position=< 42047, 31544> velocity=<-4, -3>
235+
position=<-31314, -41793> velocity=< 3, 4>
236+
position=< 10611, 31543> velocity=<-1, -3>
237+
position=< 10611, -10360> velocity=<-1, 1>
238+
position=< 31542, -41795> velocity=<-3, 4>
239+
position=< 42050, -52269> velocity=<-4, 5>
240+
position=< 31592, 10592> velocity=<-3, -1>
241+
position=<-10317, 21059> velocity=< 1, -2>
242+
position=< 52544, -31321> velocity=<-5, 3>
243+
position=<-31282, 52488> velocity=< 3, -5>
244+
position=<-52242, 31535> velocity=< 5, -3>
245+
position=<-31290, -52271> velocity=< 3, 5>
246+
position=<-52256, -31312> velocity=< 5, 3>
247+
position=<-31306, -10364> velocity=< 3, 1>
248+
position=< 21077, -20840> velocity=<-2, 2>
249+
position=< 10598, -10365> velocity=<-1, 1>
250+
position=<-41761, -20837> velocity=< 4, 2>
251+
position=< 31571, -31315> velocity=<-3, 3>
252+
position=<-41772, 10587> velocity=< 4, -1>
253+
position=<-41750, 21067> velocity=< 4, -2>
254+
position=< 31539, -31314> velocity=<-3, 3>
255+
position=< 10619, 10590> velocity=<-1, -1>
256+
position=<-10341, 31539> velocity=< 1, -3>
257+
position=<-20814, -52268> velocity=< 2, 5>
258+
position=<-20814, 21066> velocity=< 2, -2>
259+
position=< 10614, 10585> velocity=<-1, -1>
260+
position=<-41774, 21061> velocity=< 4, -2>
261+
position=< 10622, -20840> velocity=<-1, 2>
262+
position=<-41793, 31541> velocity=< 4, -3>
263+
position=<-20841, 21061> velocity=< 2, -2>
264+
position=< 10622, -41792> velocity=<-1, 4>
265+
position=<-31317, 10590> velocity=< 3, -1>
266+
position=<-10341, -10369> velocity=< 1, 1>
267+
position=<-31322, 42018> velocity=< 3, -4>
268+
position=<-20838, -20840> velocity=< 2, 2>
269+
position=<-20844, -10360> velocity=< 2, 1>
270+
position=< 10634, -41789> velocity=<-1, 4>
271+
position=< 42010, 52496> velocity=<-4, -5>
272+
position=<-41777, 31542> velocity=< 4, -3>
273+
position=< 10602, -31316> velocity=<-1, 3>
274+
position=< 52538, 42015> velocity=<-5, -4>
275+
position=< 21083, 52489> velocity=<-2, -5>
276+
position=< 21066, 21060> velocity=<-2, -2>
277+
position=<-20805, -41793> velocity=< 2, 4>
278+
position=< 21087, -41788> velocity=<-2, 4>
279+
position=< 52514, 21066> velocity=<-5, -2>
280+
position=< 52515, -41790> velocity=<-5, 4>
281+
position=< 21066, -31313> velocity=<-2, 3>
282+
position=<-41753, -52272> velocity=< 4, 5>
283+
position=< 10587, 31537> velocity=<-1, -3>
284+
position=<-20814, -31312> velocity=< 2, 3>
285+
position=< 10627, 52488> velocity=<-1, -5>
286+
position=< 52523, -20837> velocity=<-5, 2>
287+
position=<-41774, 52492> velocity=< 4, -5>
288+
position=<-52269, 21062> velocity=< 5, -2>
289+
position=<-31282, 10583> velocity=< 3, -1>
290+
position=<-31322, 21059> velocity=< 3, -2>
291+
position=<-31302, -20845> velocity=< 3, 2>
292+
position=< 52526, -10360> velocity=<-5, 1>
293+
position=< 31536, -41793> velocity=<-3, 4>
294+
position=<-20809, 42015> velocity=< 2, -4>
295+
position=< 31542, -52271> velocity=<-3, 5>
296+
position=< 52486, -10363> velocity=<-5, 1>
297+
position=<-10311, 42011> velocity=< 1, -4>
298+
position=<-41761, 10584> velocity=< 4, -1>
299+
position=< 42050, -41789> velocity=<-4, 4>
300+
position=< 52515, -20838> velocity=<-5, 2>
301+
position=< 21058, -20841> velocity=<-2, 2>
302+
position=< 31586, -31320> velocity=<-3, 3>
303+
position=<-41766, 31541> velocity=< 4, -3>
304+
position=<-41769, 31540> velocity=< 4, -3>
305+
position=<-52250, -31320> velocity=< 5, 3>
306+
position=< 52543, 42020> velocity=<-5, -4>
307+
position=< 42052, -20841> velocity=<-4, 2>
308+
position=< 52499, 31544> velocity=<-5, -3>
309+
position=< 52515, -20842> velocity=<-5, 2>
310+
position=< 31537, 31535> velocity=<-3, -3>
311+
position=< 52490, -20836> velocity=<-5, 2>
312+
position=< 52518, 21066> velocity=<-5, -2>
313+
position=< 31590, 52492> velocity=<-3, -5>
314+
position=<-10310, -10369> velocity=< 1, 1>
315+
position=< 31582, 42019> velocity=<-3, -4>
316+
position=<-10368, -52269> velocity=< 1, 5>
317+
position=< 31539, -20844> velocity=<-3, 2>
318+
position=< 10590, -41796> velocity=<-1, 4>
319+
position=< 52538, -20837> velocity=<-5, 2>
320+
position=<-41737, 31543> velocity=< 4, -3>
321+
position=<-52271, -31312> velocity=< 5, 3>
322+
position=< 31559, 42012> velocity=<-3, -4>
323+
position=<-10330, 31542> velocity=< 1, -3>
324+
position=<-41797, 31539> velocity=< 4, -3>
325+
position=< 10639, 52487> velocity=<-1, -5>
326+
position=< 31566, -41792> velocity=<-3, 4>
327+
position=< 42068, 42020> velocity=<-4, -4>
328+
position=< 42066, -20840> velocity=<-4, 2>
329+
position=< 10583, -52264> velocity=<-1, 5>
330+
position=< 21066, 31543> velocity=<-2, -3>
331+
position=< 10606, -41790> velocity=<-1, 4>
332+
position=< 42042, -41793> velocity=<-4, 4>
333+
position=< 42038, -31314> velocity=<-4, 3>
334+
position=<-20806, -20842> velocity=< 2, 2>
335+
position=< 42010, -10366> velocity=<-4, 1>
336+
position=<-41795, -20841> velocity=< 4, 2>
337+
position=< 10633, 21059> velocity=<-1, -2>
338+
position=< 52527, -10369> velocity=<-5, 1>
339+
position=< 21109, -31312> velocity=<-2, 3>
340+
position=<-52224, 52496> velocity=< 5, -5>
341+
position=< 10583, 10592> velocity=<-1, -1>

2018/day10/run.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#! /usr/bin/env python3
2+
3+
def load_data(filename):
4+
with open(filename, 'r') as f:
5+
for line in f:
6+
line = line.rstrip('\n')
7+
match = re.match(r'^position=< ?([\d-]+), +([\d-]+)> velocity=< ?([\d-]+), +([\d-]+)>$', line)
8+
yield tuple(map(int, match.groups()))
9+
10+
import re
11+
import numpy as np
12+
13+
# Part One
14+
15+
points = np.array(list(load_data('input.txt')), dtype=int)
16+
17+
prev_size = float('inf')
18+
step = 0
19+
20+
while True:
21+
min_x, max_x = np.min(points[:,0]), np.max(points[:,0])
22+
size = max_x - min_x
23+
if size > prev_size:
24+
min_x, max_x = np.min(prev_points[:,0]), np.max(prev_points[:,0])
25+
min_y, max_y = np.min(prev_points[:,1]), np.max(prev_points[:,1])
26+
field = np.zeros([max_y - min_y + 1, max_x - min_x + 1], dtype=int)
27+
field[ (prev_points[:,1] - min_y, prev_points[:,0] - min_x) ] = 1
28+
break
29+
prev_points = points[:,:2].copy()
30+
prev_size = size
31+
points[:,:2] += points[:,2:]
32+
step += 1
33+
34+
for line in field:
35+
print(''.join(map(str, line)).replace('1', '#').replace('0', '.'))
36+
37+
# Part Two
38+
39+
print(step-1)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy