day 10 part 2
This commit is contained in:
36
10/j.py
36
10/j.py
@@ -8,23 +8,51 @@ cost = {
|
|||||||
'addx': 2
|
'addx': 2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
H = 6
|
||||||
|
W = 40
|
||||||
|
|
||||||
|
screen = []
|
||||||
|
for y in range(H):
|
||||||
|
tmp = ''
|
||||||
|
for x in range(W):
|
||||||
|
tmp += '.'
|
||||||
|
screen.append(tmp)
|
||||||
|
|
||||||
cycle = 1
|
cycle = 1
|
||||||
l = 0
|
|
||||||
finish = len(input)
|
|
||||||
X = 1
|
X = 1
|
||||||
strs = []
|
strs = []
|
||||||
|
line = 1
|
||||||
|
|
||||||
for l in input:
|
for l in input:
|
||||||
cmd = l.split()
|
cmd = l.split()
|
||||||
for i in range(cost[cmd[0]]):
|
for i in range(cost[cmd[0]]):
|
||||||
#print(cycle, X, strs)
|
pos = cycle % 40 - 1
|
||||||
|
|
||||||
|
# p1
|
||||||
if ((cycle+20) % 40) == 0:
|
if ((cycle+20) % 40) == 0:
|
||||||
strenth = cycle*X
|
strenth = cycle*X
|
||||||
# print(">> " + str(cycle) + " " + str(strenth))
|
|
||||||
strs.append(strenth)
|
strs.append(strenth)
|
||||||
|
|
||||||
|
# p2
|
||||||
|
if cycle % 40 == 0:
|
||||||
|
line += 1
|
||||||
|
|
||||||
|
if (pos == X-1 or pos == X or pos == X+1):
|
||||||
|
|
||||||
|
cur = screen[line-1]
|
||||||
|
screen[line-1] = cur[:pos] + "#" + cur[pos+1:]
|
||||||
|
|
||||||
cycle += 1
|
cycle += 1
|
||||||
|
|
||||||
if cmd[0] == 'addx':
|
if cmd[0] == 'addx':
|
||||||
X += int(cmd[1])
|
X += int(cmd[1])
|
||||||
|
|
||||||
|
# p1
|
||||||
print(sum(strs))
|
print(sum(strs))
|
||||||
|
|
||||||
|
# p2
|
||||||
|
for y in range(H):
|
||||||
|
tmp = ''
|
||||||
|
for x in range(W):
|
||||||
|
tmp += screen[y][x]
|
||||||
|
print(tmp)
|
||||||
|
|||||||
361
10/out.txt
Normal file
361
10/out.txt
Normal file
@@ -0,0 +1,361 @@
|
|||||||
|
1 1 1
|
||||||
|
.#......................................
|
||||||
|
2 1 2
|
||||||
|
.##.....................................
|
||||||
|
3 16 3
|
||||||
|
4 16 4
|
||||||
|
5 5 5
|
||||||
|
.##..#..................................
|
||||||
|
6 5 6
|
||||||
|
.##..##.................................
|
||||||
|
7 11 7
|
||||||
|
8 11 8
|
||||||
|
9 8 9
|
||||||
|
.##..##..#..............................
|
||||||
|
10 8 10
|
||||||
|
11 13 11
|
||||||
|
12 13 12
|
||||||
|
.##..##..#..#...........................
|
||||||
|
13 12 13
|
||||||
|
.##..##..#..##..........................
|
||||||
|
14 12 14
|
||||||
|
15 4 15
|
||||||
|
16 4 16
|
||||||
|
17 17 17
|
||||||
|
.##..##..#..##...#......................
|
||||||
|
18 17 18
|
||||||
|
.##..##..#..##...##.....................
|
||||||
|
19 21 19
|
||||||
|
20 21 20
|
||||||
|
.##..##..#..##...##.#...................
|
||||||
|
21 21 21
|
||||||
|
.##..##..#..##...##.##..................
|
||||||
|
22 20 22
|
||||||
|
23 20 23
|
||||||
|
24 25 24
|
||||||
|
.##..##..#..##...##.##..#...............
|
||||||
|
25 25 25
|
||||||
|
.##..##..#..##...##.##..##..............
|
||||||
|
26 24 26
|
||||||
|
27 24 27
|
||||||
|
28 29 28
|
||||||
|
.##..##..#..##...##.##..##..#...........
|
||||||
|
29 29 29
|
||||||
|
.##..##..#..##...##.##..##..##..........
|
||||||
|
30 28 30
|
||||||
|
31 28 31
|
||||||
|
32 33 32
|
||||||
|
.##..##..#..##...##.##..##..##..#.......
|
||||||
|
33 33 33
|
||||||
|
.##..##..#..##...##.##..##..##..##......
|
||||||
|
34 32 34
|
||||||
|
35 32 35
|
||||||
|
36 37 36
|
||||||
|
.##..##..#..##...##.##..##..##..##..#...
|
||||||
|
37 37 37
|
||||||
|
.##..##..#..##...##.##..##..##..##..##..
|
||||||
|
38 36 38
|
||||||
|
39 36 39
|
||||||
|
40 1 0
|
||||||
|
#.......................................
|
||||||
|
41 1 1
|
||||||
|
##......................................
|
||||||
|
42 2 2
|
||||||
|
###.....................................
|
||||||
|
43 2 3
|
||||||
|
####....................................
|
||||||
|
44 26 4
|
||||||
|
45 26 5
|
||||||
|
46 7 6
|
||||||
|
####..#.................................
|
||||||
|
47 7 7
|
||||||
|
####..##................................
|
||||||
|
48 8 8
|
||||||
|
####..###...............................
|
||||||
|
49 8 9
|
||||||
|
####..####..............................
|
||||||
|
50 24 10
|
||||||
|
51 24 11
|
||||||
|
52 13 12
|
||||||
|
####..####..#...........................
|
||||||
|
53 13 13
|
||||||
|
####..####..##..........................
|
||||||
|
54 13 14
|
||||||
|
####..####..###.........................
|
||||||
|
55 13 15
|
||||||
|
56 34 16
|
||||||
|
57 34 17
|
||||||
|
58 19 18
|
||||||
|
####..####..###...#.....................
|
||||||
|
59 19 19
|
||||||
|
####..####..###...##....................
|
||||||
|
60 19 20
|
||||||
|
####..####..###...###...................
|
||||||
|
61 19 21
|
||||||
|
62 16 22
|
||||||
|
63 16 23
|
||||||
|
64 25 24
|
||||||
|
####..####..###...###...#...............
|
||||||
|
65 25 25
|
||||||
|
####..####..###...###...##..............
|
||||||
|
66 26 26
|
||||||
|
####..####..###...###...###.............
|
||||||
|
67 26 27
|
||||||
|
####..####..###...###...####............
|
||||||
|
68 23 28
|
||||||
|
69 23 29
|
||||||
|
70 31 30
|
||||||
|
####..####..###...###...####..#.........
|
||||||
|
71 31 31
|
||||||
|
####..####..###...###...####..##........
|
||||||
|
72 32 32
|
||||||
|
####..####..###...###...####..###.......
|
||||||
|
73 32 33
|
||||||
|
####..####..###...###...####..####......
|
||||||
|
74 37 34
|
||||||
|
75 37 35
|
||||||
|
76 37 36
|
||||||
|
####..####..###...###...####..####..#...
|
||||||
|
77 37 37
|
||||||
|
####..####..###...###...####..####..##..
|
||||||
|
78 37 38
|
||||||
|
####..####..###...###...####..####..###.
|
||||||
|
79 37 39
|
||||||
|
80 37 0
|
||||||
|
81 1 1
|
||||||
|
.#......................................
|
||||||
|
82 1 2
|
||||||
|
.##.....................................
|
||||||
|
83 1 3
|
||||||
|
84 2 4
|
||||||
|
85 2 5
|
||||||
|
86 9 6
|
||||||
|
87 9 7
|
||||||
|
88 9 8
|
||||||
|
.##.....#...............................
|
||||||
|
89 9 9
|
||||||
|
.##.....##..............................
|
||||||
|
90 9 10
|
||||||
|
.##.....###.............................
|
||||||
|
91 11 11
|
||||||
|
.##.....####............................
|
||||||
|
92 11 12
|
||||||
|
.##.....#####...........................
|
||||||
|
93 17 13
|
||||||
|
94 17 14
|
||||||
|
95 17 15
|
||||||
|
96 17 16
|
||||||
|
.##.....#####...#.......................
|
||||||
|
97 17 17
|
||||||
|
.##.....#####...##......................
|
||||||
|
98 17 18
|
||||||
|
.##.....#####...###.....................
|
||||||
|
99 17 19
|
||||||
|
100 18 20
|
||||||
|
101 18 21
|
||||||
|
102 18 22
|
||||||
|
103 18 23
|
||||||
|
104 25 24
|
||||||
|
.##.....#####...###.....#...............
|
||||||
|
105 25 25
|
||||||
|
.##.....#####...###.....##..............
|
||||||
|
106 26 26
|
||||||
|
.##.....#####...###.....###.............
|
||||||
|
107 26 27
|
||||||
|
.##.....#####...###.....####............
|
||||||
|
108 26 28
|
||||||
|
109 13 29
|
||||||
|
110 13 30
|
||||||
|
111 26 31
|
||||||
|
112 26 32
|
||||||
|
113 33 33
|
||||||
|
.##.....#####...###.....####.....#......
|
||||||
|
114 33 34
|
||||||
|
.##.....#####...###.....####.....##.....
|
||||||
|
115 33 35
|
||||||
|
116 34 36
|
||||||
|
117 34 37
|
||||||
|
118 1 38
|
||||||
|
119 1 39
|
||||||
|
120 1 0
|
||||||
|
#.......................................
|
||||||
|
121 1 1
|
||||||
|
##......................................
|
||||||
|
122 1 2
|
||||||
|
###.....................................
|
||||||
|
123 3 3
|
||||||
|
####....................................
|
||||||
|
124 3 4
|
||||||
|
#####...................................
|
||||||
|
125 3 5
|
||||||
|
126 3 6
|
||||||
|
127 3 7
|
||||||
|
128 11 8
|
||||||
|
129 11 9
|
||||||
|
130 11 10
|
||||||
|
#####.....#.............................
|
||||||
|
131 10 11
|
||||||
|
#####.....##............................
|
||||||
|
132 10 12
|
||||||
|
133 12 13
|
||||||
|
#####.....##.#..........................
|
||||||
|
134 12 14
|
||||||
|
135 13 15
|
||||||
|
136 13 16
|
||||||
|
137 13 17
|
||||||
|
138 30 18
|
||||||
|
139 30 19
|
||||||
|
140 21 20
|
||||||
|
#####.....##.#......#...................
|
||||||
|
141 21 21
|
||||||
|
#####.....##.#......##..................
|
||||||
|
142 22 22
|
||||||
|
#####.....##.#......###.................
|
||||||
|
143 22 23
|
||||||
|
#####.....##.#......####................
|
||||||
|
144 23 24
|
||||||
|
#####.....##.#......#####...............
|
||||||
|
145 23 25
|
||||||
|
146 20 26
|
||||||
|
147 20 27
|
||||||
|
148 31 28
|
||||||
|
149 31 29
|
||||||
|
150 31 30
|
||||||
|
#####.....##.#......#####.....#.........
|
||||||
|
151 31 31
|
||||||
|
#####.....##.#......#####.....##........
|
||||||
|
152 32 32
|
||||||
|
#####.....##.#......#####.....###.......
|
||||||
|
153 32 33
|
||||||
|
#####.....##.#......#####.....####......
|
||||||
|
154 32 34
|
||||||
|
155 33 35
|
||||||
|
156 33 36
|
||||||
|
157 33 37
|
||||||
|
158 33 38
|
||||||
|
159 20 39
|
||||||
|
160 20 0
|
||||||
|
161 1 1
|
||||||
|
.#......................................
|
||||||
|
162 1 2
|
||||||
|
.##.....................................
|
||||||
|
163 2 3
|
||||||
|
.###....................................
|
||||||
|
164 2 4
|
||||||
|
165 5 5
|
||||||
|
.###.#..................................
|
||||||
|
166 5 6
|
||||||
|
.###.##.................................
|
||||||
|
167 31 7
|
||||||
|
168 31 8
|
||||||
|
169 1 9
|
||||||
|
170 1 10
|
||||||
|
171 13 11
|
||||||
|
172 13 12
|
||||||
|
.###.##.....#...........................
|
||||||
|
173 12 13
|
||||||
|
.###.##.....##..........................
|
||||||
|
174 12 14
|
||||||
|
175 15 15
|
||||||
|
.###.##.....##.#........................
|
||||||
|
176 15 16
|
||||||
|
.###.##.....##.##.......................
|
||||||
|
177 16 17
|
||||||
|
.###.##.....##.###......................
|
||||||
|
178 16 18
|
||||||
|
179 16 19
|
||||||
|
180 16 20
|
||||||
|
181 16 21
|
||||||
|
182 7 22
|
||||||
|
183 7 23
|
||||||
|
184 25 24
|
||||||
|
.###.##.....##.###......#...............
|
||||||
|
185 25 25
|
||||||
|
.###.##.....##.###......##..............
|
||||||
|
186 26 26
|
||||||
|
.###.##.....##.###......###.............
|
||||||
|
187 26 27
|
||||||
|
.###.##.....##.###......####............
|
||||||
|
188 28 28
|
||||||
|
.###.##.....##.###......#####...........
|
||||||
|
189 28 29
|
||||||
|
.###.##.....##.###......######..........
|
||||||
|
190 28 30
|
||||||
|
191 28 31
|
||||||
|
192 37 32
|
||||||
|
193 37 33
|
||||||
|
194 37 34
|
||||||
|
195 37 35
|
||||||
|
196 37 36
|
||||||
|
.###.##.....##.###......######......#...
|
||||||
|
197 36 37
|
||||||
|
.###.##.....##.###......######......##..
|
||||||
|
198 36 38
|
||||||
|
199 38 39
|
||||||
|
.###.##.....##.###......######......##.#
|
||||||
|
200 38 0
|
||||||
|
201 1 1
|
||||||
|
.#......................................
|
||||||
|
202 1 2
|
||||||
|
.##.....................................
|
||||||
|
203 2 3
|
||||||
|
.###....................................
|
||||||
|
204 2 4
|
||||||
|
205 5 5
|
||||||
|
.###.#..................................
|
||||||
|
206 5 6
|
||||||
|
.###.##.................................
|
||||||
|
207 5 7
|
||||||
|
208 20 8
|
||||||
|
209 20 9
|
||||||
|
210 -1 10
|
||||||
|
211 -1 11
|
||||||
|
212 21 12
|
||||||
|
213 21 13
|
||||||
|
214 15 14
|
||||||
|
.###.##.......#.........................
|
||||||
|
215 15 15
|
||||||
|
.###.##.......##........................
|
||||||
|
216 16 16
|
||||||
|
.###.##.......###.......................
|
||||||
|
217 16 17
|
||||||
|
.###.##.......####......................
|
||||||
|
218 16 18
|
||||||
|
219 18 19
|
||||||
|
.###.##.......####.#....................
|
||||||
|
220 18 20
|
||||||
|
221 19 21
|
||||||
|
222 19 22
|
||||||
|
223 19 23
|
||||||
|
224 9 24
|
||||||
|
225 9 25
|
||||||
|
226 9 26
|
||||||
|
227 9 27
|
||||||
|
228 29 28
|
||||||
|
.###.##.......####.#........#...........
|
||||||
|
229 29 29
|
||||||
|
.###.##.......####.#........##..........
|
||||||
|
230 30 30
|
||||||
|
.###.##.......####.#........###.........
|
||||||
|
231 30 31
|
||||||
|
.###.##.......####.#........####........
|
||||||
|
232 32 32
|
||||||
|
.###.##.......####.#........#####.......
|
||||||
|
233 32 33
|
||||||
|
.###.##.......####.#........######......
|
||||||
|
234 34 34
|
||||||
|
.###.##.......####.#........#######.....
|
||||||
|
235 34 35
|
||||||
|
.###.##.......####.#........########....
|
||||||
|
236 28 36
|
||||||
|
237 28 37
|
||||||
|
238 17 38
|
||||||
|
239 17 39
|
||||||
|
240 17 0
|
||||||
|
13140
|
||||||
|
####..####..###...###...####..####..###.
|
||||||
|
.##.....#####...###.....####.....##.....
|
||||||
|
#####.....##.#......#####.....####......
|
||||||
|
.###.##.....##.###......######......##.#
|
||||||
|
.###.##.......####.#........########....
|
||||||
|
.##..##..#..##...##.##..##..##..##..##..
|
||||||
Reference in New Issue
Block a user