Tasks 01-14
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
from collections import defaultdict
|
||||
with open("input") as f:
|
||||
data = f.read().strip().split('\n')
|
||||
|
||||
data = [tuple(tuple(map(int, point.split(','))) for point in line.split(' -> ')) for line in data]
|
||||
data1 = list(filter(lambda x: x[0][0]==x[1][0] or x[0][1]==x[1][1], data))
|
||||
|
||||
d = defaultdict(int)
|
||||
for (x1,y1), (x2,y2) in data1:
|
||||
if x1==x2:
|
||||
for y in range(min(y1,y2), max(y1,y2)+1):
|
||||
d[(x1, y)] += 1
|
||||
else:
|
||||
for x in range(min(x1,x2), max(x1,x2)+1):
|
||||
d[(x, y1)] += 1
|
||||
k = sum(1 for (x, y), c in d.items() if c>1)
|
||||
print(k)
|
||||
|
||||
d = defaultdict(int)
|
||||
for (x1,y1), (x2,y2) in data:
|
||||
if x1==x2:
|
||||
for y in range(min(y1,y2), max(y1,y2)+1):
|
||||
d[(x1, y)] += 1
|
||||
elif y1==y2:
|
||||
for x in range(min(x1,x2), max(x1,x2)+1):
|
||||
d[(x, y1)] += 1
|
||||
else:
|
||||
if x1>x2:
|
||||
x1,x2 = x2,x1
|
||||
y1,y2 = y2,y1
|
||||
y = 1 if y1<y2 else -1
|
||||
for x in range(x1, x2+1):
|
||||
d[(x, y1+(x-x1)*y)] += 1
|
||||
k = sum(1 for (x, y), c in d.items() if c>1)
|
||||
print(k)
|
||||
@@ -0,0 +1,500 @@
|
||||
955,125 -> 151,929
|
||||
830,251 -> 526,555
|
||||
182,185 -> 13,16
|
||||
73,871 -> 73,951
|
||||
169,968 -> 626,968
|
||||
471,180 -> 471,746
|
||||
725,478 -> 791,544
|
||||
577,413 -> 577,753
|
||||
636,937 -> 181,937
|
||||
46,601 -> 714,601
|
||||
400,905 -> 400,972
|
||||
911,773 -> 883,801
|
||||
818,684 -> 818,705
|
||||
71,846 -> 151,846
|
||||
737,489 -> 626,378
|
||||
634,800 -> 634,482
|
||||
401,209 -> 401,469
|
||||
676,688 -> 384,396
|
||||
247,819 -> 680,819
|
||||
944,343 -> 196,343
|
||||
57,689 -> 586,160
|
||||
13,54 -> 918,959
|
||||
736,490 -> 520,706
|
||||
331,20 -> 208,20
|
||||
639,865 -> 322,548
|
||||
914,227 -> 914,980
|
||||
163,411 -> 163,825
|
||||
344,58 -> 344,199
|
||||
274,153 -> 989,153
|
||||
15,14 -> 983,982
|
||||
784,269 -> 332,721
|
||||
206,921 -> 206,331
|
||||
219,944 -> 260,903
|
||||
81,92 -> 976,987
|
||||
325,633 -> 502,810
|
||||
887,850 -> 887,83
|
||||
203,756 -> 203,627
|
||||
447,33 -> 748,33
|
||||
87,245 -> 87,932
|
||||
817,324 -> 881,324
|
||||
922,227 -> 167,982
|
||||
626,867 -> 155,396
|
||||
743,689 -> 743,779
|
||||
516,433 -> 133,433
|
||||
444,407 -> 614,407
|
||||
42,140 -> 475,140
|
||||
311,422 -> 311,514
|
||||
526,59 -> 643,59
|
||||
709,69 -> 455,69
|
||||
136,46 -> 159,46
|
||||
300,113 -> 763,576
|
||||
979,977 -> 18,16
|
||||
380,490 -> 380,556
|
||||
134,726 -> 134,287
|
||||
317,717 -> 383,717
|
||||
726,712 -> 211,197
|
||||
703,952 -> 165,952
|
||||
806,575 -> 122,575
|
||||
589,691 -> 589,716
|
||||
965,337 -> 879,337
|
||||
938,23 -> 57,904
|
||||
186,141 -> 385,141
|
||||
864,744 -> 959,744
|
||||
276,957 -> 636,957
|
||||
98,846 -> 98,349
|
||||
559,261 -> 559,63
|
||||
564,808 -> 564,429
|
||||
491,362 -> 491,746
|
||||
513,250 -> 897,250
|
||||
939,442 -> 249,442
|
||||
366,678 -> 916,678
|
||||
325,79 -> 604,358
|
||||
513,890 -> 133,890
|
||||
360,88 -> 427,88
|
||||
777,266 -> 522,266
|
||||
371,859 -> 776,859
|
||||
111,600 -> 111,980
|
||||
366,471 -> 646,191
|
||||
849,407 -> 933,407
|
||||
867,681 -> 570,384
|
||||
467,707 -> 797,377
|
||||
624,304 -> 852,76
|
||||
341,149 -> 575,383
|
||||
34,499 -> 736,499
|
||||
13,312 -> 927,312
|
||||
897,188 -> 897,639
|
||||
372,665 -> 372,501
|
||||
651,22 -> 173,22
|
||||
450,394 -> 450,798
|
||||
140,584 -> 140,960
|
||||
223,919 -> 980,919
|
||||
893,645 -> 429,181
|
||||
284,488 -> 207,411
|
||||
823,868 -> 622,667
|
||||
426,881 -> 868,881
|
||||
49,63 -> 974,988
|
||||
921,475 -> 81,475
|
||||
166,653 -> 166,913
|
||||
40,191 -> 767,918
|
||||
911,499 -> 911,363
|
||||
966,960 -> 84,78
|
||||
193,522 -> 193,379
|
||||
208,255 -> 673,255
|
||||
684,837 -> 684,192
|
||||
921,758 -> 921,841
|
||||
756,244 -> 756,277
|
||||
866,533 -> 866,186
|
||||
97,747 -> 798,46
|
||||
415,287 -> 415,759
|
||||
570,824 -> 902,824
|
||||
341,792 -> 44,792
|
||||
849,787 -> 161,99
|
||||
501,621 -> 565,685
|
||||
409,62 -> 215,256
|
||||
591,780 -> 855,780
|
||||
901,67 -> 901,223
|
||||
662,212 -> 578,212
|
||||
196,924 -> 196,94
|
||||
404,492 -> 300,492
|
||||
10,984 -> 984,10
|
||||
722,739 -> 722,775
|
||||
805,637 -> 805,299
|
||||
848,722 -> 707,722
|
||||
444,597 -> 158,597
|
||||
402,57 -> 509,57
|
||||
490,353 -> 273,353
|
||||
868,208 -> 421,655
|
||||
102,930 -> 903,129
|
||||
557,877 -> 557,529
|
||||
27,69 -> 843,885
|
||||
549,695 -> 468,695
|
||||
767,701 -> 104,701
|
||||
415,141 -> 415,809
|
||||
205,767 -> 205,427
|
||||
264,723 -> 952,35
|
||||
357,279 -> 390,279
|
||||
529,436 -> 250,715
|
||||
390,472 -> 889,971
|
||||
983,11 -> 21,973
|
||||
732,307 -> 112,927
|
||||
412,801 -> 252,801
|
||||
738,338 -> 738,94
|
||||
80,135 -> 952,135
|
||||
623,269 -> 870,516
|
||||
216,507 -> 32,507
|
||||
927,10 -> 927,946
|
||||
389,955 -> 389,399
|
||||
683,825 -> 629,879
|
||||
163,450 -> 208,495
|
||||
303,217 -> 831,217
|
||||
827,632 -> 827,736
|
||||
629,880 -> 629,533
|
||||
368,67 -> 111,67
|
||||
625,268 -> 397,268
|
||||
737,335 -> 299,773
|
||||
666,767 -> 494,939
|
||||
144,238 -> 757,238
|
||||
511,211 -> 270,211
|
||||
312,901 -> 548,665
|
||||
550,763 -> 47,763
|
||||
942,403 -> 464,881
|
||||
969,18 -> 15,972
|
||||
963,831 -> 187,55
|
||||
933,831 -> 933,408
|
||||
733,658 -> 876,658
|
||||
599,392 -> 980,11
|
||||
44,406 -> 900,406
|
||||
645,169 -> 577,237
|
||||
731,41 -> 731,265
|
||||
574,397 -> 574,249
|
||||
316,279 -> 316,657
|
||||
826,116 -> 18,924
|
||||
611,892 -> 824,892
|
||||
607,168 -> 607,85
|
||||
371,914 -> 113,656
|
||||
145,201 -> 458,514
|
||||
813,952 -> 189,328
|
||||
633,15 -> 239,409
|
||||
832,278 -> 202,908
|
||||
234,698 -> 509,423
|
||||
635,27 -> 635,18
|
||||
701,147 -> 701,577
|
||||
777,722 -> 777,835
|
||||
519,298 -> 497,298
|
||||
80,71 -> 875,866
|
||||
872,350 -> 58,350
|
||||
128,711 -> 131,711
|
||||
591,709 -> 362,480
|
||||
129,647 -> 54,572
|
||||
980,731 -> 282,33
|
||||
245,813 -> 682,813
|
||||
867,238 -> 463,642
|
||||
511,888 -> 511,391
|
||||
727,38 -> 289,38
|
||||
311,888 -> 311,801
|
||||
261,915 -> 926,250
|
||||
855,835 -> 145,125
|
||||
78,688 -> 826,688
|
||||
989,40 -> 66,963
|
||||
956,30 -> 101,885
|
||||
665,826 -> 406,826
|
||||
97,981 -> 985,93
|
||||
971,847 -> 357,233
|
||||
725,531 -> 725,556
|
||||
63,570 -> 403,570
|
||||
41,430 -> 577,430
|
||||
40,54 -> 796,810
|
||||
417,232 -> 417,392
|
||||
214,800 -> 936,78
|
||||
542,955 -> 146,955
|
||||
76,263 -> 471,263
|
||||
784,507 -> 784,858
|
||||
443,222 -> 443,881
|
||||
317,157 -> 317,956
|
||||
245,599 -> 166,520
|
||||
307,649 -> 307,313
|
||||
399,782 -> 538,782
|
||||
483,731 -> 294,731
|
||||
950,903 -> 281,234
|
||||
283,522 -> 866,522
|
||||
472,505 -> 278,505
|
||||
435,693 -> 845,283
|
||||
881,751 -> 294,164
|
||||
40,840 -> 179,979
|
||||
481,398 -> 481,661
|
||||
509,687 -> 509,875
|
||||
976,866 -> 684,574
|
||||
133,130 -> 158,130
|
||||
268,81 -> 641,454
|
||||
613,754 -> 393,974
|
||||
980,984 -> 14,18
|
||||
55,909 -> 952,12
|
||||
865,132 -> 986,132
|
||||
147,773 -> 147,414
|
||||
135,62 -> 934,861
|
||||
298,293 -> 298,978
|
||||
583,990 -> 424,990
|
||||
760,189 -> 516,189
|
||||
286,292 -> 286,648
|
||||
60,352 -> 60,830
|
||||
335,241 -> 420,156
|
||||
360,571 -> 360,354
|
||||
361,233 -> 714,233
|
||||
21,78 -> 922,979
|
||||
35,748 -> 449,748
|
||||
859,26 -> 73,812
|
||||
277,827 -> 277,708
|
||||
160,633 -> 515,278
|
||||
673,422 -> 568,317
|
||||
620,235 -> 620,645
|
||||
538,698 -> 156,698
|
||||
47,543 -> 439,543
|
||||
65,975 -> 945,95
|
||||
259,644 -> 242,644
|
||||
777,216 -> 794,216
|
||||
100,191 -> 835,926
|
||||
450,581 -> 450,433
|
||||
475,784 -> 475,118
|
||||
840,584 -> 580,844
|
||||
191,283 -> 191,58
|
||||
170,650 -> 130,690
|
||||
478,269 -> 478,781
|
||||
44,981 -> 839,186
|
||||
270,744 -> 270,902
|
||||
941,960 -> 102,121
|
||||
303,690 -> 303,467
|
||||
150,18 -> 150,601
|
||||
470,523 -> 240,523
|
||||
166,575 -> 621,575
|
||||
197,765 -> 691,271
|
||||
164,798 -> 369,798
|
||||
544,319 -> 677,319
|
||||
31,212 -> 777,958
|
||||
894,774 -> 894,752
|
||||
567,225 -> 67,225
|
||||
884,201 -> 184,201
|
||||
675,961 -> 187,473
|
||||
203,78 -> 203,690
|
||||
52,945 -> 957,40
|
||||
987,214 -> 987,762
|
||||
792,975 -> 792,673
|
||||
358,782 -> 598,542
|
||||
105,716 -> 777,44
|
||||
736,643 -> 245,643
|
||||
507,940 -> 275,940
|
||||
231,936 -> 231,209
|
||||
204,545 -> 186,563
|
||||
881,426 -> 881,460
|
||||
315,867 -> 96,867
|
||||
793,324 -> 642,324
|
||||
276,709 -> 540,973
|
||||
834,401 -> 834,701
|
||||
616,874 -> 616,606
|
||||
892,596 -> 892,570
|
||||
255,919 -> 850,324
|
||||
764,62 -> 82,744
|
||||
682,374 -> 978,374
|
||||
218,353 -> 218,787
|
||||
140,289 -> 720,869
|
||||
811,20 -> 811,203
|
||||
165,291 -> 284,291
|
||||
137,382 -> 137,767
|
||||
15,14 -> 989,988
|
||||
947,682 -> 499,234
|
||||
751,356 -> 862,356
|
||||
398,362 -> 398,494
|
||||
260,32 -> 780,552
|
||||
839,484 -> 584,484
|
||||
198,865 -> 198,327
|
||||
600,461 -> 418,279
|
||||
346,439 -> 495,588
|
||||
854,661 -> 775,661
|
||||
119,575 -> 119,415
|
||||
349,849 -> 349,421
|
||||
13,401 -> 21,393
|
||||
169,511 -> 169,61
|
||||
848,678 -> 213,678
|
||||
42,25 -> 729,712
|
||||
903,740 -> 816,740
|
||||
398,862 -> 398,116
|
||||
443,624 -> 101,624
|
||||
135,158 -> 223,158
|
||||
440,742 -> 388,742
|
||||
903,963 -> 49,109
|
||||
131,198 -> 208,198
|
||||
147,289 -> 147,663
|
||||
684,307 -> 684,299
|
||||
453,864 -> 453,404
|
||||
361,982 -> 978,365
|
||||
840,64 -> 563,64
|
||||
377,301 -> 613,301
|
||||
32,366 -> 609,366
|
||||
867,240 -> 867,188
|
||||
798,714 -> 956,714
|
||||
617,792 -> 617,354
|
||||
309,357 -> 309,797
|
||||
824,888 -> 824,598
|
||||
947,958 -> 305,316
|
||||
505,934 -> 461,890
|
||||
45,685 -> 597,133
|
||||
875,170 -> 66,979
|
||||
239,959 -> 985,213
|
||||
769,423 -> 769,39
|
||||
62,750 -> 764,48
|
||||
749,798 -> 749,307
|
||||
110,646 -> 241,777
|
||||
93,804 -> 867,30
|
||||
361,663 -> 856,663
|
||||
494,788 -> 187,788
|
||||
696,379 -> 696,823
|
||||
664,935 -> 146,417
|
||||
895,804 -> 895,144
|
||||
200,240 -> 805,240
|
||||
347,794 -> 487,934
|
||||
978,920 -> 978,408
|
||||
730,480 -> 390,140
|
||||
933,810 -> 933,513
|
||||
429,864 -> 134,864
|
||||
476,339 -> 183,632
|
||||
677,878 -> 677,417
|
||||
980,261 -> 757,261
|
||||
452,569 -> 452,280
|
||||
535,223 -> 867,223
|
||||
159,466 -> 983,466
|
||||
332,155 -> 334,153
|
||||
887,478 -> 887,179
|
||||
173,245 -> 773,845
|
||||
441,274 -> 632,465
|
||||
987,389 -> 987,440
|
||||
830,806 -> 747,806
|
||||
103,82 -> 796,775
|
||||
945,14 -> 129,14
|
||||
110,873 -> 520,873
|
||||
393,391 -> 291,391
|
||||
598,125 -> 129,594
|
||||
378,546 -> 175,546
|
||||
302,558 -> 617,243
|
||||
943,752 -> 244,53
|
||||
972,943 -> 41,12
|
||||
16,164 -> 124,164
|
||||
270,815 -> 27,815
|
||||
146,729 -> 146,317
|
||||
153,255 -> 166,255
|
||||
511,505 -> 270,505
|
||||
404,568 -> 388,568
|
||||
485,751 -> 485,785
|
||||
752,686 -> 160,686
|
||||
523,676 -> 385,676
|
||||
854,437 -> 618,437
|
||||
578,212 -> 875,509
|
||||
800,115 -> 815,130
|
||||
439,554 -> 868,983
|
||||
225,803 -> 244,822
|
||||
494,735 -> 655,574
|
||||
932,191 -> 932,41
|
||||
842,325 -> 630,325
|
||||
201,288 -> 518,288
|
||||
255,332 -> 53,332
|
||||
385,959 -> 329,903
|
||||
757,447 -> 276,447
|
||||
884,957 -> 884,449
|
||||
686,354 -> 195,354
|
||||
384,677 -> 951,110
|
||||
173,77 -> 164,77
|
||||
767,840 -> 248,321
|
||||
81,180 -> 81,371
|
||||
517,838 -> 517,461
|
||||
950,559 -> 221,559
|
||||
934,826 -> 329,221
|
||||
311,329 -> 311,146
|
||||
140,459 -> 280,459
|
||||
200,195 -> 24,19
|
||||
517,270 -> 865,618
|
||||
43,54 -> 939,950
|
||||
853,339 -> 853,388
|
||||
297,795 -> 240,795
|
||||
358,890 -> 275,973
|
||||
26,70 -> 931,975
|
||||
781,141 -> 318,604
|
||||
17,794 -> 204,794
|
||||
87,534 -> 763,534
|
||||
590,968 -> 590,613
|
||||
358,836 -> 758,836
|
||||
598,635 -> 764,635
|
||||
313,670 -> 313,478
|
||||
832,330 -> 832,629
|
||||
973,36 -> 21,988
|
||||
131,814 -> 709,236
|
||||
261,163 -> 261,906
|
||||
720,48 -> 659,48
|
||||
988,152 -> 326,814
|
||||
937,761 -> 690,761
|
||||
988,784 -> 988,879
|
||||
807,445 -> 336,916
|
||||
933,978 -> 51,96
|
||||
305,966 -> 305,402
|
||||
184,687 -> 437,687
|
||||
256,172 -> 186,172
|
||||
508,162 -> 421,162
|
||||
689,52 -> 740,52
|
||||
545,807 -> 545,630
|
||||
676,924 -> 620,924
|
||||
976,68 -> 139,905
|
||||
322,96 -> 45,96
|
||||
663,407 -> 199,871
|
||||
562,636 -> 224,974
|
||||
172,439 -> 126,439
|
||||
740,628 -> 852,628
|
||||
252,28 -> 596,372
|
||||
129,850 -> 571,408
|
||||
75,446 -> 399,446
|
||||
67,460 -> 704,460
|
||||
932,531 -> 932,60
|
||||
520,229 -> 255,494
|
||||
462,756 -> 462,614
|
||||
158,117 -> 592,551
|
||||
203,722 -> 203,892
|
||||
93,822 -> 207,822
|
||||
634,172 -> 634,457
|
||||
272,365 -> 272,377
|
||||
989,23 -> 25,987
|
||||
739,776 -> 40,776
|
||||
843,708 -> 24,708
|
||||
665,10 -> 665,728
|
||||
271,858 -> 11,598
|
||||
947,642 -> 629,960
|
||||
230,760 -> 938,52
|
||||
291,552 -> 291,388
|
||||
689,400 -> 260,829
|
||||
610,194 -> 470,194
|
||||
628,824 -> 45,241
|
||||
935,940 -> 51,56
|
||||
90,871 -> 90,933
|
||||
973,934 -> 104,65
|
||||
435,245 -> 768,245
|
||||
43,666 -> 625,666
|
||||
770,563 -> 724,563
|
||||
363,816 -> 363,889
|
||||
25,725 -> 701,49
|
||||
784,846 -> 484,846
|
||||
989,293 -> 989,502
|
||||
572,135 -> 485,135
|
||||
683,807 -> 370,494
|
||||
982,182 -> 225,939
|
||||
838,522 -> 520,522
|
||||
253,942 -> 970,225
|
||||
442,963 -> 577,963
|
||||
867,193 -> 307,753
|
||||
269,204 -> 771,204
|
||||
941,925 -> 136,120
|
||||
329,488 -> 728,89
|
||||
37,424 -> 254,424
|
||||
179,864 -> 895,148
|
||||
359,473 -> 359,675
|
||||
976,933 -> 129,86
|
||||
220,101 -> 376,101
|
||||
988,667 -> 946,667
|
||||
667,22 -> 308,22
|
||||
831,782 -> 245,196
|
||||
759,813 -> 225,279
|
||||
Reference in New Issue
Block a user