day 10 part 2

This commit is contained in:
2022-12-10 09:07:25 +02:00
parent eadc405a0f
commit 5849a1bab2
2 changed files with 393 additions and 4 deletions

36
10/j.py
View File

@@ -8,23 +8,51 @@ cost = {
'addx': 2
}
H = 6
W = 40
screen = []
for y in range(H):
tmp = ''
for x in range(W):
tmp += '.'
screen.append(tmp)
cycle = 1
l = 0
finish = len(input)
X = 1
strs = []
line = 1
for l in input:
cmd = l.split()
for i in range(cost[cmd[0]]):
#print(cycle, X, strs)
pos = cycle % 40 - 1
# p1
if ((cycle+20) % 40) == 0:
strenth = cycle*X
# print(">> " + str(cycle) + " " + str(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
if cmd[0] == 'addx':
X += int(cmd[1])
# p1
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
View 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
####..####..###...###...####..####..###.
.##.....#####...###.....####.....##.....
#####.....##.#......#####.....####......
.###.##.....##.###......######......##.#
.###.##.......####.#........########....
.##..##..#..##...##.##..##..##..##..##..