Skip to content

Commit 6075d15

Browse files
committed
Initial Commit
0 parents  commit 6075d15

13 files changed

+1227
-0
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
__pycache__
2+
config.py

2015/6.py

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import numpy as np
2+
3+
4+
split_data = True
5+
raw_data = None # Not To be touched
6+
7+
def proccess(line):
8+
p1, p2 = line.split(' through ')
9+
x1, y1 = p1.split(',')
10+
x2, y2 = p2.split(',')
11+
return int(x1), int(y1), int(x2), int(y2)
12+
13+
def part1(data):
14+
"""The Code is supposed to run here"""
15+
grid = np.ndarray((1000, 1000), dtype=np.bool) # True represents lit and False represents off
16+
for line in data:
17+
if line.startswith('toggle'):
18+
x1, y1, x2, y2 = proccess(line.lstrip('toggle '))
19+
grid[x1:y1+1, x2:y2+1] = ~grid[x1:y1+1, x2:y2+1]
20+
elif line.startswith('turn off'):
21+
x1, y1, x2, y2 = proccess(line.lstrip('turn off '))
22+
grid[x1:y1+1, x2:y2+1] = True
23+
elif line.startswith('turn on'):
24+
x1, y1, x2, y2 = proccess(line.lstrip('turn off '))
25+
grid[x1:y1+1, x2:y2+1] = False
26+
print("The Answer to the First part is:", grid.sum())
27+
28+
def part2(data):
29+
"""The Code is supposed to run here"""
30+
pass
31+
32+
33+
def main(puzzle_input):
34+
global raw_data
35+
raw_data = puzzle_input
36+
part1(raw_data.split('\n') if split_data else raw_data)
37+
part2(raw_data.split('\n') if split_data else raw_data)

2015/6.txt

+300
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,300 @@
1+
toggle 461,550 through 564,900
2+
turn off 370,39 through 425,839
3+
turn off 464,858 through 833,915
4+
turn off 812,389 through 865,874
5+
turn on 599,989 through 806,993
6+
turn on 376,415 through 768,548
7+
turn on 606,361 through 892,600
8+
turn off 448,208 through 645,684
9+
toggle 50,472 through 452,788
10+
toggle 205,417 through 703,826
11+
toggle 533,331 through 906,873
12+
toggle 857,493 through 989,970
13+
turn off 631,950 through 894,975
14+
turn off 387,19 through 720,700
15+
turn off 511,843 through 581,945
16+
toggle 514,557 through 662,883
17+
turn off 269,809 through 876,847
18+
turn off 149,517 through 716,777
19+
turn off 994,939 through 998,988
20+
toggle 467,662 through 555,957
21+
turn on 952,417 through 954,845
22+
turn on 565,226 through 944,880
23+
turn on 214,319 through 805,722
24+
toggle 532,276 through 636,847
25+
toggle 619,80 through 689,507
26+
turn on 390,706 through 884,722
27+
toggle 17,634 through 537,766
28+
toggle 706,440 through 834,441
29+
toggle 318,207 through 499,530
30+
toggle 698,185 through 830,343
31+
toggle 566,679 through 744,716
32+
toggle 347,482 through 959,482
33+
toggle 39,799 through 981,872
34+
turn on 583,543 through 846,710
35+
turn off 367,664 through 595,872
36+
turn on 805,439 through 964,995
37+
toggle 209,584 through 513,802
38+
turn off 106,497 through 266,770
39+
turn on 975,2 through 984,623
40+
turn off 316,684 through 369,876
41+
turn off 30,309 through 259,554
42+
turn off 399,680 through 861,942
43+
toggle 227,740 through 850,829
44+
turn on 386,603 through 552,879
45+
turn off 703,795 through 791,963
46+
turn off 573,803 through 996,878
47+
turn off 993,939 through 997,951
48+
turn on 809,221 through 869,723
49+
turn off 38,720 through 682,751
50+
turn off 318,732 through 720,976
51+
toggle 88,459 through 392,654
52+
turn off 865,654 through 911,956
53+
toggle 264,284 through 857,956
54+
turn off 281,776 through 610,797
55+
toggle 492,660 through 647,910
56+
turn off 879,703 through 925,981
57+
turn off 772,414 through 974,518
58+
turn on 694,41 through 755,96
59+
turn on 452,406 through 885,881
60+
turn off 107,905 through 497,910
61+
turn off 647,222 through 910,532
62+
turn on 679,40 through 845,358
63+
turn off 144,205 through 556,362
64+
turn on 871,804 through 962,878
65+
turn on 545,676 through 545,929
66+
turn off 316,716 through 413,941
67+
toggle 488,826 through 755,971
68+
toggle 957,832 through 976,992
69+
toggle 857,770 through 905,964
70+
toggle 319,198 through 787,673
71+
turn on 832,813 through 863,844
72+
turn on 818,296 through 818,681
73+
turn on 71,699 through 91,960
74+
turn off 838,578 through 967,928
75+
toggle 440,856 through 507,942
76+
toggle 121,970 through 151,974
77+
toggle 391,192 through 659,751
78+
turn on 78,210 through 681,419
79+
turn on 324,591 through 593,939
80+
toggle 159,366 through 249,760
81+
turn off 617,167 through 954,601
82+
toggle 484,607 through 733,657
83+
turn on 587,96 through 888,819
84+
turn off 680,984 through 941,991
85+
turn on 800,512 through 968,691
86+
turn off 123,588 through 853,603
87+
turn on 1,862 through 507,912
88+
turn on 699,839 through 973,878
89+
turn off 848,89 through 887,893
90+
toggle 344,353 through 462,403
91+
turn on 780,731 through 841,760
92+
toggle 693,973 through 847,984
93+
toggle 989,936 through 996,958
94+
toggle 168,475 through 206,963
95+
turn on 742,683 through 769,845
96+
toggle 768,116 through 987,396
97+
turn on 190,364 through 617,526
98+
turn off 470,266 through 530,839
99+
toggle 122,497 through 969,645
100+
turn off 492,432 through 827,790
101+
turn on 505,636 through 957,820
102+
turn on 295,476 through 698,958
103+
toggle 63,298 through 202,396
104+
turn on 157,315 through 412,939
105+
turn off 69,789 through 134,837
106+
turn off 678,335 through 896,541
107+
toggle 140,516 through 842,668
108+
turn off 697,585 through 712,668
109+
toggle 507,832 through 578,949
110+
turn on 678,279 through 886,621
111+
toggle 449,744 through 826,910
112+
turn off 835,354 through 921,741
113+
toggle 924,878 through 985,952
114+
turn on 666,503 through 922,905
115+
turn on 947,453 through 961,587
116+
toggle 525,190 through 795,654
117+
turn off 62,320 through 896,362
118+
turn on 21,458 through 972,536
119+
turn on 446,429 through 821,970
120+
toggle 376,423 through 805,455
121+
toggle 494,896 through 715,937
122+
turn on 583,270 through 667,482
123+
turn off 183,468 through 280,548
124+
toggle 623,289 through 750,524
125+
turn on 836,706 through 967,768
126+
turn on 419,569 through 912,908
127+
turn on 428,260 through 660,433
128+
turn off 683,627 through 916,816
129+
turn on 447,973 through 866,980
130+
turn on 688,607 through 938,990
131+
turn on 245,187 through 597,405
132+
turn off 558,843 through 841,942
133+
turn off 325,666 through 713,834
134+
toggle 672,606 through 814,935
135+
turn off 161,812 through 490,954
136+
turn on 950,362 through 985,898
137+
turn on 143,22 through 205,821
138+
turn on 89,762 through 607,790
139+
toggle 234,245 through 827,303
140+
turn on 65,599 through 764,997
141+
turn on 232,466 through 965,695
142+
turn on 739,122 through 975,590
143+
turn off 206,112 through 940,558
144+
toggle 690,365 through 988,552
145+
turn on 907,438 through 977,691
146+
turn off 838,809 through 944,869
147+
turn on 222,12 through 541,832
148+
toggle 337,66 through 669,812
149+
turn on 732,821 through 897,912
150+
toggle 182,862 through 638,996
151+
turn on 955,808 through 983,847
152+
toggle 346,227 through 841,696
153+
turn on 983,270 through 989,756
154+
turn off 874,849 through 876,905
155+
turn off 7,760 through 678,795
156+
toggle 973,977 through 995,983
157+
turn off 911,961 through 914,976
158+
turn on 913,557 through 952,722
159+
turn off 607,933 through 939,999
160+
turn on 226,604 through 517,622
161+
turn off 3,564 through 344,842
162+
toggle 340,578 through 428,610
163+
turn on 248,916 through 687,925
164+
toggle 650,185 through 955,965
165+
toggle 831,359 through 933,536
166+
turn off 544,614 through 896,953
167+
toggle 648,939 through 975,997
168+
turn on 464,269 through 710,521
169+
turn off 643,149 through 791,320
170+
turn off 875,549 through 972,643
171+
turn off 953,969 through 971,972
172+
turn off 236,474 through 772,591
173+
toggle 313,212 through 489,723
174+
toggle 896,829 through 897,837
175+
toggle 544,449 through 995,905
176+
turn off 278,645 through 977,876
177+
turn off 887,947 through 946,977
178+
turn on 342,861 through 725,935
179+
turn on 636,316 through 692,513
180+
toggle 857,470 through 950,528
181+
turn off 736,196 through 826,889
182+
turn on 17,878 through 850,987
183+
turn on 142,968 through 169,987
184+
turn on 46,470 through 912,853
185+
turn on 182,252 through 279,941
186+
toggle 261,143 through 969,657
187+
turn off 69,600 through 518,710
188+
turn on 372,379 through 779,386
189+
toggle 867,391 through 911,601
190+
turn off 174,287 through 900,536
191+
toggle 951,842 through 993,963
192+
turn off 626,733 through 985,827
193+
toggle 622,70 through 666,291
194+
turn off 980,671 through 985,835
195+
turn off 477,63 through 910,72
196+
turn off 779,39 through 940,142
197+
turn on 986,570 through 997,638
198+
toggle 842,805 through 943,985
199+
turn off 890,886 through 976,927
200+
turn off 893,172 through 897,619
201+
turn off 198,780 through 835,826
202+
toggle 202,209 through 219,291
203+
turn off 193,52 through 833,283
204+
toggle 414,427 through 987,972
205+
turn on 375,231 through 668,236
206+
turn off 646,598 through 869,663
207+
toggle 271,462 through 414,650
208+
turn off 679,121 through 845,467
209+
toggle 76,847 through 504,904
210+
turn off 15,617 through 509,810
211+
toggle 248,105 through 312,451
212+
turn off 126,546 through 922,879
213+
turn on 531,831 through 903,872
214+
toggle 602,431 through 892,792
215+
turn off 795,223 through 892,623
216+
toggle 167,721 through 533,929
217+
toggle 813,251 through 998,484
218+
toggle 64,640 through 752,942
219+
turn on 155,955 through 892,985
220+
turn on 251,329 through 996,497
221+
turn off 341,716 through 462,994
222+
toggle 760,127 through 829,189
223+
turn on 86,413 through 408,518
224+
toggle 340,102 through 918,558
225+
turn off 441,642 through 751,889
226+
turn on 785,292 through 845,325
227+
turn off 123,389 through 725,828
228+
turn on 905,73 through 983,270
229+
turn off 807,86 through 879,276
230+
toggle 500,866 through 864,916
231+
turn on 809,366 through 828,534
232+
toggle 219,356 through 720,617
233+
turn off 320,964 through 769,990
234+
turn off 903,167 through 936,631
235+
toggle 300,137 through 333,693
236+
toggle 5,675 through 755,848
237+
turn off 852,235 through 946,783
238+
toggle 355,556 through 941,664
239+
turn on 810,830 through 867,891
240+
turn off 509,869 through 667,903
241+
toggle 769,400 through 873,892
242+
turn on 553,614 through 810,729
243+
turn on 179,873 through 589,962
244+
turn off 466,866 through 768,926
245+
toggle 143,943 through 465,984
246+
toggle 182,380 through 569,552
247+
turn off 735,808 through 917,910
248+
turn on 731,802 through 910,847
249+
turn off 522,74 through 731,485
250+
turn on 444,127 through 566,996
251+
turn off 232,962 through 893,979
252+
turn off 231,492 through 790,976
253+
turn on 874,567 through 943,684
254+
toggle 911,840 through 990,932
255+
toggle 547,895 through 667,935
256+
turn off 93,294 through 648,636
257+
turn off 190,902 through 532,970
258+
turn off 451,530 through 704,613
259+
toggle 936,774 through 937,775
260+
turn off 116,843 through 533,934
261+
turn on 950,906 through 986,993
262+
turn on 910,51 through 945,989
263+
turn on 986,498 through 994,945
264+
turn off 125,324 through 433,704
265+
turn off 60,313 through 75,728
266+
turn on 899,494 through 940,947
267+
toggle 832,316 through 971,817
268+
toggle 994,983 through 998,984
269+
toggle 23,353 through 917,845
270+
toggle 174,799 through 658,859
271+
turn off 490,878 through 534,887
272+
turn off 623,963 through 917,975
273+
toggle 721,333 through 816,975
274+
toggle 589,687 through 890,921
275+
turn on 936,388 through 948,560
276+
turn off 485,17 through 655,610
277+
turn on 435,158 through 689,495
278+
turn on 192,934 through 734,936
279+
turn off 299,723 through 622,847
280+
toggle 484,160 through 812,942
281+
turn off 245,754 through 818,851
282+
turn on 298,419 through 824,634
283+
toggle 868,687 through 969,760
284+
toggle 131,250 through 685,426
285+
turn off 201,954 through 997,983
286+
turn on 353,910 through 832,961
287+
turn off 518,781 through 645,875
288+
turn off 866,97 through 924,784
289+
toggle 836,599 through 857,767
290+
turn on 80,957 through 776,968
291+
toggle 277,130 through 513,244
292+
turn off 62,266 through 854,434
293+
turn on 792,764 through 872,842
294+
turn off 160,949 through 273,989
295+
turn off 664,203 through 694,754
296+
toggle 491,615 through 998,836
297+
turn off 210,146 through 221,482
298+
turn off 209,780 through 572,894
299+
turn on 766,112 through 792,868
300+
turn on 222,12 through 856,241

0 commit comments

Comments
 (0)