Day 5 part 1
This commit is contained in:
		
							parent
							
								
									0133915b71
								
							
						
					
					
						commit
						608aa0f9d2
					
				
					 3 changed files with 618 additions and 0 deletions
				
			
		
							
								
								
									
										108
									
								
								5/5.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										108
									
								
								5/5.py
									
									
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,108 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env python
 | 
				
			||||||
 | 
					# 2021 - Advent Of Code - 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def parse_file(file):
 | 
				
			||||||
 | 
					    horizontal_lines = []
 | 
				
			||||||
 | 
					    vertical_lines = []
 | 
				
			||||||
 | 
					    with open(file) as f:
 | 
				
			||||||
 | 
					        for l in f.readlines():
 | 
				
			||||||
 | 
					            p1, p2 = l.strip().split(' -> ')
 | 
				
			||||||
 | 
					            strx1, stry1 = p1.split(',')
 | 
				
			||||||
 | 
					            strx2, stry2 = p2.split(',')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # filter horizontal and vertical lines only
 | 
				
			||||||
 | 
					            if strx1 == strx2:
 | 
				
			||||||
 | 
					                p1 = (int(strx1), int(stry1))
 | 
				
			||||||
 | 
					                p2 = (int(strx2), int(stry2))
 | 
				
			||||||
 | 
					                vertical_lines.append([p1, p2])
 | 
				
			||||||
 | 
					            if stry1 == stry2:
 | 
				
			||||||
 | 
					                p1 = (int(strx1), int(stry1))
 | 
				
			||||||
 | 
					                p2 = (int(strx2), int(stry2))
 | 
				
			||||||
 | 
					                horizontal_lines.append([p1, p2])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return horizontal_lines, vertical_lines
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def draw_horizontal(g, hline):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # print(f'drawing hline: {hline}')
 | 
				
			||||||
 | 
					    if hline[0][0] < hline[1][0]:   # left -> right
 | 
				
			||||||
 | 
					        start_point = hline[0]
 | 
				
			||||||
 | 
					        end_point = hline[1]
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        start_point = hline[1]
 | 
				
			||||||
 | 
					        end_point = hline[0]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ly = start_point[1]
 | 
				
			||||||
 | 
					    # print(f'drawing from {start_point[0]} to {end_point[0]}')
 | 
				
			||||||
 | 
					    for lx in range(start_point[0], end_point[0]+1):
 | 
				
			||||||
 | 
					        g[ly][lx] += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def draw_vertical(g, vline):
 | 
				
			||||||
 | 
					    # print(f'drawing vline: {vline}')
 | 
				
			||||||
 | 
					    if vline[0][1] < vline[1][1]:   # up -> down
 | 
				
			||||||
 | 
					        start_point = vline[0]
 | 
				
			||||||
 | 
					        end_point = vline[1]
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        start_point = vline[1]
 | 
				
			||||||
 | 
					        end_point = vline[0]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    lx = start_point[0]
 | 
				
			||||||
 | 
					    # print(f'drawing from {start_point[0]} to {end_point[0]}')
 | 
				
			||||||
 | 
					    for ly in range(start_point[1], end_point[1]+1):
 | 
				
			||||||
 | 
					        g[ly][lx] += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hlines, vlines = parse_file('input.txt')
 | 
				
			||||||
 | 
					print(f'horizontal lines parsed: {len(hlines)}')
 | 
				
			||||||
 | 
					print(f'vertical lines parsed: {len(vlines)}')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# detect size of the grid (assumed 1000x1000, but why not ;-) )
 | 
				
			||||||
 | 
					maxx = 0
 | 
				
			||||||
 | 
					maxy = 0
 | 
				
			||||||
 | 
					for line in hlines + vlines:
 | 
				
			||||||
 | 
					    startp = line[0]
 | 
				
			||||||
 | 
					    endp = line[1]
 | 
				
			||||||
 | 
					    if startp[0] > maxx:
 | 
				
			||||||
 | 
					        maxx = startp[0]
 | 
				
			||||||
 | 
					    if endp[0] > maxx:
 | 
				
			||||||
 | 
					        maxx = endp[0]
 | 
				
			||||||
 | 
					    if startp[1] > maxy:
 | 
				
			||||||
 | 
					        maxy = startp[1]
 | 
				
			||||||
 | 
					    if endp[1] > maxy:
 | 
				
			||||||
 | 
					        maxy = endp[1]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print(f'detected grid size: {maxx} x {maxy}')
 | 
				
			||||||
 | 
					grid = [[0] * (maxx+1) for _ in range(maxy+1)]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# draw
 | 
				
			||||||
 | 
					for hl in hlines:
 | 
				
			||||||
 | 
					    draw_horizontal(grid, hl)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for vl in vlines:
 | 
				
			||||||
 | 
					    draw_vertical(grid, vl)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# count points
 | 
				
			||||||
 | 
					points = 0
 | 
				
			||||||
 | 
					for y in range(maxy+1):
 | 
				
			||||||
 | 
					    for x in range(maxx+1):
 | 
				
			||||||
 | 
					        if grid[y][x] > 1:
 | 
				
			||||||
 | 
					            points += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print(f'There\'s {points} points with at least two lines')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# bonus (or debug with the sample), draw the grid
 | 
				
			||||||
 | 
					# print('  ', end='')
 | 
				
			||||||
 | 
					# for y in range(maxy+1):
 | 
				
			||||||
 | 
					#     print(y, end='')
 | 
				
			||||||
 | 
					# print()
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# for y in range(maxy+1):
 | 
				
			||||||
 | 
					#     print(f'{y} ', end='')
 | 
				
			||||||
 | 
					#     for x in range(maxx+1):
 | 
				
			||||||
 | 
					#         if grid[y][x] == 0:
 | 
				
			||||||
 | 
					#             print('.', end='')
 | 
				
			||||||
 | 
					#         else:
 | 
				
			||||||
 | 
					#             print(str(grid[y][x]), end='')
 | 
				
			||||||
 | 
					#    print()
 | 
				
			||||||
							
								
								
									
										500
									
								
								5/input.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										500
									
								
								5/input.txt
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,500 @@
 | 
				
			||||||
 | 
					527,299 -> 430,299
 | 
				
			||||||
 | 
					828,228 -> 81,228
 | 
				
			||||||
 | 
					40,126 -> 842,928
 | 
				
			||||||
 | 
					30,390 -> 30,741
 | 
				
			||||||
 | 
					196,853 -> 196,599
 | 
				
			||||||
 | 
					388,795 -> 388,300
 | 
				
			||||||
 | 
					326,398 -> 326,766
 | 
				
			||||||
 | 
					63,865 -> 63,407
 | 
				
			||||||
 | 
					119,453 -> 282,453
 | 
				
			||||||
 | 
					478,396 -> 824,396
 | 
				
			||||||
 | 
					934,189 -> 612,189
 | 
				
			||||||
 | 
					739,122 -> 306,555
 | 
				
			||||||
 | 
					394,970 -> 394,249
 | 
				
			||||||
 | 
					213,693 -> 213,336
 | 
				
			||||||
 | 
					955,11 -> 688,11
 | 
				
			||||||
 | 
					632,211 -> 818,211
 | 
				
			||||||
 | 
					324,662 -> 66,404
 | 
				
			||||||
 | 
					652,773 -> 811,614
 | 
				
			||||||
 | 
					964,746 -> 402,184
 | 
				
			||||||
 | 
					105,959 -> 850,214
 | 
				
			||||||
 | 
					454,852 -> 594,852
 | 
				
			||||||
 | 
					685,669 -> 124,669
 | 
				
			||||||
 | 
					95,11 -> 873,789
 | 
				
			||||||
 | 
					737,266 -> 484,266
 | 
				
			||||||
 | 
					547,701 -> 764,484
 | 
				
			||||||
 | 
					290,20 -> 290,164
 | 
				
			||||||
 | 
					103,870 -> 283,870
 | 
				
			||||||
 | 
					762,582 -> 762,431
 | 
				
			||||||
 | 
					69,154 -> 55,154
 | 
				
			||||||
 | 
					584,37 -> 308,37
 | 
				
			||||||
 | 
					200,218 -> 200,336
 | 
				
			||||||
 | 
					50,871 -> 766,155
 | 
				
			||||||
 | 
					256,212 -> 919,875
 | 
				
			||||||
 | 
					421,779 -> 959,241
 | 
				
			||||||
 | 
					987,42 -> 304,725
 | 
				
			||||||
 | 
					139,791 -> 330,600
 | 
				
			||||||
 | 
					728,53 -> 845,53
 | 
				
			||||||
 | 
					807,907 -> 423,907
 | 
				
			||||||
 | 
					765,642 -> 868,642
 | 
				
			||||||
 | 
					701,279 -> 701,75
 | 
				
			||||||
 | 
					29,890 -> 542,890
 | 
				
			||||||
 | 
					929,105 -> 59,975
 | 
				
			||||||
 | 
					23,355 -> 485,817
 | 
				
			||||||
 | 
					597,440 -> 454,440
 | 
				
			||||||
 | 
					770,338 -> 629,338
 | 
				
			||||||
 | 
					856,203 -> 856,858
 | 
				
			||||||
 | 
					262,806 -> 951,806
 | 
				
			||||||
 | 
					976,879 -> 976,179
 | 
				
			||||||
 | 
					91,879 -> 950,20
 | 
				
			||||||
 | 
					378,216 -> 378,440
 | 
				
			||||||
 | 
					300,794 -> 507,794
 | 
				
			||||||
 | 
					174,890 -> 907,157
 | 
				
			||||||
 | 
					850,37 -> 171,37
 | 
				
			||||||
 | 
					61,375 -> 117,375
 | 
				
			||||||
 | 
					350,984 -> 460,984
 | 
				
			||||||
 | 
					454,361 -> 672,361
 | 
				
			||||||
 | 
					118,802 -> 118,448
 | 
				
			||||||
 | 
					225,929 -> 974,180
 | 
				
			||||||
 | 
					880,69 -> 341,608
 | 
				
			||||||
 | 
					52,986 -> 891,147
 | 
				
			||||||
 | 
					367,529 -> 367,707
 | 
				
			||||||
 | 
					302,385 -> 674,385
 | 
				
			||||||
 | 
					970,122 -> 145,947
 | 
				
			||||||
 | 
					526,676 -> 214,364
 | 
				
			||||||
 | 
					463,651 -> 463,708
 | 
				
			||||||
 | 
					861,779 -> 168,86
 | 
				
			||||||
 | 
					11,965 -> 913,63
 | 
				
			||||||
 | 
					461,63 -> 944,63
 | 
				
			||||||
 | 
					610,532 -> 199,121
 | 
				
			||||||
 | 
					715,594 -> 512,594
 | 
				
			||||||
 | 
					107,94 -> 490,94
 | 
				
			||||||
 | 
					913,558 -> 404,558
 | 
				
			||||||
 | 
					25,55 -> 911,941
 | 
				
			||||||
 | 
					861,443 -> 861,329
 | 
				
			||||||
 | 
					411,113 -> 884,113
 | 
				
			||||||
 | 
					125,636 -> 740,636
 | 
				
			||||||
 | 
					55,157 -> 815,917
 | 
				
			||||||
 | 
					901,744 -> 547,744
 | 
				
			||||||
 | 
					86,340 -> 86,866
 | 
				
			||||||
 | 
					64,698 -> 270,698
 | 
				
			||||||
 | 
					519,324 -> 371,324
 | 
				
			||||||
 | 
					857,634 -> 857,35
 | 
				
			||||||
 | 
					384,137 -> 28,137
 | 
				
			||||||
 | 
					859,981 -> 859,302
 | 
				
			||||||
 | 
					351,757 -> 351,204
 | 
				
			||||||
 | 
					460,557 -> 460,792
 | 
				
			||||||
 | 
					954,581 -> 112,581
 | 
				
			||||||
 | 
					303,405 -> 303,599
 | 
				
			||||||
 | 
					445,588 -> 246,588
 | 
				
			||||||
 | 
					664,114 -> 664,107
 | 
				
			||||||
 | 
					556,397 -> 556,714
 | 
				
			||||||
 | 
					210,112 -> 939,841
 | 
				
			||||||
 | 
					477,953 -> 180,656
 | 
				
			||||||
 | 
					913,536 -> 913,333
 | 
				
			||||||
 | 
					405,152 -> 552,152
 | 
				
			||||||
 | 
					805,848 -> 805,12
 | 
				
			||||||
 | 
					759,318 -> 759,163
 | 
				
			||||||
 | 
					443,167 -> 231,167
 | 
				
			||||||
 | 
					906,336 -> 906,122
 | 
				
			||||||
 | 
					470,781 -> 546,705
 | 
				
			||||||
 | 
					536,359 -> 814,81
 | 
				
			||||||
 | 
					445,167 -> 935,167
 | 
				
			||||||
 | 
					226,729 -> 730,729
 | 
				
			||||||
 | 
					940,876 -> 510,446
 | 
				
			||||||
 | 
					433,87 -> 533,87
 | 
				
			||||||
 | 
					437,887 -> 186,887
 | 
				
			||||||
 | 
					609,217 -> 431,217
 | 
				
			||||||
 | 
					766,388 -> 663,388
 | 
				
			||||||
 | 
					397,826 -> 82,826
 | 
				
			||||||
 | 
					411,324 -> 411,437
 | 
				
			||||||
 | 
					632,75 -> 632,290
 | 
				
			||||||
 | 
					583,646 -> 836,899
 | 
				
			||||||
 | 
					118,703 -> 118,307
 | 
				
			||||||
 | 
					907,275 -> 721,275
 | 
				
			||||||
 | 
					321,191 -> 321,362
 | 
				
			||||||
 | 
					168,594 -> 168,55
 | 
				
			||||||
 | 
					857,290 -> 284,290
 | 
				
			||||||
 | 
					879,232 -> 879,456
 | 
				
			||||||
 | 
					578,206 -> 28,756
 | 
				
			||||||
 | 
					47,144 -> 47,777
 | 
				
			||||||
 | 
					815,521 -> 445,151
 | 
				
			||||||
 | 
					765,680 -> 523,438
 | 
				
			||||||
 | 
					139,817 -> 534,422
 | 
				
			||||||
 | 
					372,539 -> 36,539
 | 
				
			||||||
 | 
					900,758 -> 900,987
 | 
				
			||||||
 | 
					248,835 -> 558,835
 | 
				
			||||||
 | 
					259,774 -> 472,774
 | 
				
			||||||
 | 
					375,436 -> 172,436
 | 
				
			||||||
 | 
					265,754 -> 265,556
 | 
				
			||||||
 | 
					753,161 -> 753,307
 | 
				
			||||||
 | 
					677,648 -> 677,743
 | 
				
			||||||
 | 
					79,427 -> 79,34
 | 
				
			||||||
 | 
					391,304 -> 754,304
 | 
				
			||||||
 | 
					339,275 -> 339,548
 | 
				
			||||||
 | 
					596,584 -> 596,684
 | 
				
			||||||
 | 
					677,656 -> 64,43
 | 
				
			||||||
 | 
					789,409 -> 814,434
 | 
				
			||||||
 | 
					420,436 -> 822,436
 | 
				
			||||||
 | 
					842,552 -> 181,552
 | 
				
			||||||
 | 
					931,124 -> 69,986
 | 
				
			||||||
 | 
					976,147 -> 97,147
 | 
				
			||||||
 | 
					854,673 -> 400,219
 | 
				
			||||||
 | 
					622,300 -> 622,339
 | 
				
			||||||
 | 
					331,503 -> 331,585
 | 
				
			||||||
 | 
					450,795 -> 489,756
 | 
				
			||||||
 | 
					47,883 -> 920,10
 | 
				
			||||||
 | 
					387,843 -> 793,843
 | 
				
			||||||
 | 
					87,452 -> 583,948
 | 
				
			||||||
 | 
					84,77 -> 610,603
 | 
				
			||||||
 | 
					145,147 -> 903,147
 | 
				
			||||||
 | 
					203,971 -> 203,67
 | 
				
			||||||
 | 
					797,171 -> 713,171
 | 
				
			||||||
 | 
					472,559 -> 872,959
 | 
				
			||||||
 | 
					116,349 -> 116,43
 | 
				
			||||||
 | 
					82,654 -> 461,275
 | 
				
			||||||
 | 
					208,641 -> 208,25
 | 
				
			||||||
 | 
					212,474 -> 198,488
 | 
				
			||||||
 | 
					521,396 -> 187,396
 | 
				
			||||||
 | 
					56,916 -> 937,916
 | 
				
			||||||
 | 
					359,806 -> 888,806
 | 
				
			||||||
 | 
					841,220 -> 841,857
 | 
				
			||||||
 | 
					288,791 -> 288,610
 | 
				
			||||||
 | 
					254,584 -> 254,37
 | 
				
			||||||
 | 
					302,485 -> 743,926
 | 
				
			||||||
 | 
					414,590 -> 510,686
 | 
				
			||||||
 | 
					899,600 -> 132,600
 | 
				
			||||||
 | 
					923,543 -> 93,543
 | 
				
			||||||
 | 
					597,103 -> 918,103
 | 
				
			||||||
 | 
					130,143 -> 920,933
 | 
				
			||||||
 | 
					741,216 -> 867,216
 | 
				
			||||||
 | 
					915,852 -> 723,852
 | 
				
			||||||
 | 
					519,842 -> 541,842
 | 
				
			||||||
 | 
					197,407 -> 197,526
 | 
				
			||||||
 | 
					214,775 -> 214,728
 | 
				
			||||||
 | 
					854,345 -> 938,345
 | 
				
			||||||
 | 
					719,820 -> 788,751
 | 
				
			||||||
 | 
					46,937 -> 758,225
 | 
				
			||||||
 | 
					685,173 -> 685,354
 | 
				
			||||||
 | 
					192,500 -> 500,500
 | 
				
			||||||
 | 
					947,663 -> 335,51
 | 
				
			||||||
 | 
					810,675 -> 209,74
 | 
				
			||||||
 | 
					329,753 -> 62,753
 | 
				
			||||||
 | 
					651,866 -> 614,866
 | 
				
			||||||
 | 
					760,627 -> 258,627
 | 
				
			||||||
 | 
					491,645 -> 491,473
 | 
				
			||||||
 | 
					988,17 -> 22,983
 | 
				
			||||||
 | 
					921,951 -> 14,44
 | 
				
			||||||
 | 
					176,591 -> 176,750
 | 
				
			||||||
 | 
					401,129 -> 381,129
 | 
				
			||||||
 | 
					145,329 -> 145,905
 | 
				
			||||||
 | 
					286,116 -> 273,103
 | 
				
			||||||
 | 
					91,185 -> 91,756
 | 
				
			||||||
 | 
					634,752 -> 634,14
 | 
				
			||||||
 | 
					252,645 -> 290,645
 | 
				
			||||||
 | 
					954,645 -> 954,350
 | 
				
			||||||
 | 
					115,177 -> 115,121
 | 
				
			||||||
 | 
					52,682 -> 52,51
 | 
				
			||||||
 | 
					638,966 -> 841,763
 | 
				
			||||||
 | 
					851,854 -> 152,155
 | 
				
			||||||
 | 
					77,433 -> 599,955
 | 
				
			||||||
 | 
					309,964 -> 309,426
 | 
				
			||||||
 | 
					413,958 -> 413,235
 | 
				
			||||||
 | 
					150,831 -> 150,118
 | 
				
			||||||
 | 
					981,383 -> 422,942
 | 
				
			||||||
 | 
					748,776 -> 748,631
 | 
				
			||||||
 | 
					509,127 -> 509,231
 | 
				
			||||||
 | 
					595,136 -> 301,136
 | 
				
			||||||
 | 
					458,838 -> 458,912
 | 
				
			||||||
 | 
					608,290 -> 239,290
 | 
				
			||||||
 | 
					57,921 -> 946,32
 | 
				
			||||||
 | 
					524,756 -> 317,963
 | 
				
			||||||
 | 
					567,425 -> 567,443
 | 
				
			||||||
 | 
					832,716 -> 740,716
 | 
				
			||||||
 | 
					182,218 -> 650,686
 | 
				
			||||||
 | 
					421,936 -> 127,642
 | 
				
			||||||
 | 
					342,366 -> 441,267
 | 
				
			||||||
 | 
					672,754 -> 376,754
 | 
				
			||||||
 | 
					758,724 -> 758,379
 | 
				
			||||||
 | 
					602,795 -> 349,795
 | 
				
			||||||
 | 
					409,887 -> 988,308
 | 
				
			||||||
 | 
					508,13 -> 561,66
 | 
				
			||||||
 | 
					582,946 -> 369,733
 | 
				
			||||||
 | 
					332,542 -> 136,346
 | 
				
			||||||
 | 
					295,256 -> 926,256
 | 
				
			||||||
 | 
					839,846 -> 839,698
 | 
				
			||||||
 | 
					649,333 -> 522,333
 | 
				
			||||||
 | 
					837,625 -> 837,184
 | 
				
			||||||
 | 
					64,85 -> 618,639
 | 
				
			||||||
 | 
					210,930 -> 414,930
 | 
				
			||||||
 | 
					428,651 -> 214,651
 | 
				
			||||||
 | 
					832,362 -> 832,926
 | 
				
			||||||
 | 
					92,385 -> 92,799
 | 
				
			||||||
 | 
					132,978 -> 747,978
 | 
				
			||||||
 | 
					545,867 -> 545,947
 | 
				
			||||||
 | 
					256,708 -> 239,725
 | 
				
			||||||
 | 
					830,962 -> 570,962
 | 
				
			||||||
 | 
					356,150 -> 781,575
 | 
				
			||||||
 | 
					116,29 -> 965,878
 | 
				
			||||||
 | 
					342,546 -> 53,835
 | 
				
			||||||
 | 
					576,170 -> 780,170
 | 
				
			||||||
 | 
					40,767 -> 656,151
 | 
				
			||||||
 | 
					417,514 -> 417,114
 | 
				
			||||||
 | 
					60,517 -> 60,137
 | 
				
			||||||
 | 
					715,760 -> 557,760
 | 
				
			||||||
 | 
					508,329 -> 508,371
 | 
				
			||||||
 | 
					467,427 -> 19,427
 | 
				
			||||||
 | 
					227,531 -> 742,16
 | 
				
			||||||
 | 
					332,450 -> 867,450
 | 
				
			||||||
 | 
					274,323 -> 524,323
 | 
				
			||||||
 | 
					539,677 -> 460,677
 | 
				
			||||||
 | 
					224,403 -> 224,845
 | 
				
			||||||
 | 
					373,916 -> 366,916
 | 
				
			||||||
 | 
					400,84 -> 400,895
 | 
				
			||||||
 | 
					824,502 -> 824,804
 | 
				
			||||||
 | 
					835,967 -> 347,479
 | 
				
			||||||
 | 
					838,639 -> 838,798
 | 
				
			||||||
 | 
					386,247 -> 616,17
 | 
				
			||||||
 | 
					165,445 -> 408,445
 | 
				
			||||||
 | 
					941,849 -> 913,849
 | 
				
			||||||
 | 
					792,469 -> 792,600
 | 
				
			||||||
 | 
					630,521 -> 630,344
 | 
				
			||||||
 | 
					338,418 -> 298,458
 | 
				
			||||||
 | 
					163,571 -> 527,571
 | 
				
			||||||
 | 
					102,290 -> 911,290
 | 
				
			||||||
 | 
					213,745 -> 213,267
 | 
				
			||||||
 | 
					225,795 -> 778,242
 | 
				
			||||||
 | 
					986,988 -> 10,12
 | 
				
			||||||
 | 
					239,445 -> 239,829
 | 
				
			||||||
 | 
					526,714 -> 526,225
 | 
				
			||||||
 | 
					224,774 -> 953,45
 | 
				
			||||||
 | 
					467,915 -> 467,291
 | 
				
			||||||
 | 
					395,148 -> 204,339
 | 
				
			||||||
 | 
					871,549 -> 392,549
 | 
				
			||||||
 | 
					817,452 -> 939,330
 | 
				
			||||||
 | 
					942,19 -> 942,937
 | 
				
			||||||
 | 
					166,627 -> 207,627
 | 
				
			||||||
 | 
					901,306 -> 901,158
 | 
				
			||||||
 | 
					103,339 -> 466,339
 | 
				
			||||||
 | 
					351,19 -> 815,19
 | 
				
			||||||
 | 
					677,659 -> 203,185
 | 
				
			||||||
 | 
					270,25 -> 46,25
 | 
				
			||||||
 | 
					318,461 -> 318,129
 | 
				
			||||||
 | 
					283,428 -> 884,428
 | 
				
			||||||
 | 
					696,966 -> 893,966
 | 
				
			||||||
 | 
					388,237 -> 381,230
 | 
				
			||||||
 | 
					172,978 -> 172,18
 | 
				
			||||||
 | 
					434,499 -> 156,777
 | 
				
			||||||
 | 
					630,682 -> 501,682
 | 
				
			||||||
 | 
					272,340 -> 251,361
 | 
				
			||||||
 | 
					410,94 -> 410,885
 | 
				
			||||||
 | 
					863,920 -> 747,920
 | 
				
			||||||
 | 
					986,985 -> 14,13
 | 
				
			||||||
 | 
					369,626 -> 256,513
 | 
				
			||||||
 | 
					638,496 -> 571,496
 | 
				
			||||||
 | 
					196,609 -> 638,609
 | 
				
			||||||
 | 
					710,959 -> 454,959
 | 
				
			||||||
 | 
					642,578 -> 642,468
 | 
				
			||||||
 | 
					457,720 -> 379,798
 | 
				
			||||||
 | 
					88,86 -> 88,320
 | 
				
			||||||
 | 
					361,352 -> 157,556
 | 
				
			||||||
 | 
					55,57 -> 450,57
 | 
				
			||||||
 | 
					532,204 -> 532,750
 | 
				
			||||||
 | 
					76,856 -> 658,274
 | 
				
			||||||
 | 
					818,750 -> 397,329
 | 
				
			||||||
 | 
					829,801 -> 128,100
 | 
				
			||||||
 | 
					843,892 -> 433,892
 | 
				
			||||||
 | 
					516,438 -> 516,59
 | 
				
			||||||
 | 
					216,534 -> 216,914
 | 
				
			||||||
 | 
					767,973 -> 56,973
 | 
				
			||||||
 | 
					288,91 -> 342,91
 | 
				
			||||||
 | 
					51,52 -> 417,418
 | 
				
			||||||
 | 
					979,570 -> 497,570
 | 
				
			||||||
 | 
					438,471 -> 579,330
 | 
				
			||||||
 | 
					751,57 -> 751,619
 | 
				
			||||||
 | 
					199,403 -> 118,403
 | 
				
			||||||
 | 
					811,903 -> 251,343
 | 
				
			||||||
 | 
					294,47 -> 950,703
 | 
				
			||||||
 | 
					457,107 -> 967,617
 | 
				
			||||||
 | 
					976,42 -> 34,984
 | 
				
			||||||
 | 
					84,194 -> 265,194
 | 
				
			||||||
 | 
					944,341 -> 131,341
 | 
				
			||||||
 | 
					935,398 -> 276,398
 | 
				
			||||||
 | 
					716,135 -> 513,135
 | 
				
			||||||
 | 
					846,690 -> 846,950
 | 
				
			||||||
 | 
					786,858 -> 786,960
 | 
				
			||||||
 | 
					491,677 -> 491,57
 | 
				
			||||||
 | 
					283,781 -> 15,513
 | 
				
			||||||
 | 
					51,736 -> 557,230
 | 
				
			||||||
 | 
					503,825 -> 928,825
 | 
				
			||||||
 | 
					70,980 -> 960,90
 | 
				
			||||||
 | 
					947,135 -> 732,350
 | 
				
			||||||
 | 
					968,873 -> 336,241
 | 
				
			||||||
 | 
					955,185 -> 157,983
 | 
				
			||||||
 | 
					887,644 -> 887,530
 | 
				
			||||||
 | 
					315,315 -> 604,604
 | 
				
			||||||
 | 
					728,163 -> 728,67
 | 
				
			||||||
 | 
					759,286 -> 759,55
 | 
				
			||||||
 | 
					255,73 -> 653,471
 | 
				
			||||||
 | 
					156,942 -> 983,115
 | 
				
			||||||
 | 
					840,877 -> 69,106
 | 
				
			||||||
 | 
					828,451 -> 828,117
 | 
				
			||||||
 | 
					742,655 -> 349,655
 | 
				
			||||||
 | 
					576,664 -> 576,427
 | 
				
			||||||
 | 
					74,960 -> 962,72
 | 
				
			||||||
 | 
					293,169 -> 711,169
 | 
				
			||||||
 | 
					151,771 -> 929,771
 | 
				
			||||||
 | 
					860,908 -> 427,475
 | 
				
			||||||
 | 
					169,466 -> 279,356
 | 
				
			||||||
 | 
					557,25 -> 24,25
 | 
				
			||||||
 | 
					500,93 -> 108,93
 | 
				
			||||||
 | 
					332,119 -> 463,119
 | 
				
			||||||
 | 
					24,385 -> 739,385
 | 
				
			||||||
 | 
					527,866 -> 985,866
 | 
				
			||||||
 | 
					212,781 -> 595,398
 | 
				
			||||||
 | 
					548,774 -> 730,774
 | 
				
			||||||
 | 
					774,514 -> 30,514
 | 
				
			||||||
 | 
					627,45 -> 627,885
 | 
				
			||||||
 | 
					73,932 -> 984,21
 | 
				
			||||||
 | 
					95,616 -> 811,616
 | 
				
			||||||
 | 
					464,401 -> 458,401
 | 
				
			||||||
 | 
					774,442 -> 534,202
 | 
				
			||||||
 | 
					407,422 -> 407,211
 | 
				
			||||||
 | 
					444,86 -> 444,358
 | 
				
			||||||
 | 
					184,541 -> 184,325
 | 
				
			||||||
 | 
					679,97 -> 841,259
 | 
				
			||||||
 | 
					235,895 -> 571,895
 | 
				
			||||||
 | 
					454,517 -> 121,517
 | 
				
			||||||
 | 
					487,243 -> 564,243
 | 
				
			||||||
 | 
					216,237 -> 953,974
 | 
				
			||||||
 | 
					202,136 -> 202,536
 | 
				
			||||||
 | 
					117,848 -> 762,203
 | 
				
			||||||
 | 
					676,557 -> 89,557
 | 
				
			||||||
 | 
					940,456 -> 940,548
 | 
				
			||||||
 | 
					931,426 -> 899,426
 | 
				
			||||||
 | 
					31,398 -> 145,398
 | 
				
			||||||
 | 
					211,537 -> 589,159
 | 
				
			||||||
 | 
					853,977 -> 673,977
 | 
				
			||||||
 | 
					713,863 -> 216,366
 | 
				
			||||||
 | 
					311,814 -> 335,814
 | 
				
			||||||
 | 
					330,879 -> 127,879
 | 
				
			||||||
 | 
					897,585 -> 185,585
 | 
				
			||||||
 | 
					503,64 -> 677,64
 | 
				
			||||||
 | 
					623,886 -> 254,517
 | 
				
			||||||
 | 
					795,989 -> 795,516
 | 
				
			||||||
 | 
					508,712 -> 904,316
 | 
				
			||||||
 | 
					964,892 -> 101,29
 | 
				
			||||||
 | 
					797,38 -> 797,901
 | 
				
			||||||
 | 
					911,10 -> 632,10
 | 
				
			||||||
 | 
					646,831 -> 284,831
 | 
				
			||||||
 | 
					424,187 -> 957,720
 | 
				
			||||||
 | 
					365,751 -> 538,578
 | 
				
			||||||
 | 
					821,840 -> 38,57
 | 
				
			||||||
 | 
					868,799 -> 242,799
 | 
				
			||||||
 | 
					343,181 -> 555,393
 | 
				
			||||||
 | 
					280,880 -> 280,795
 | 
				
			||||||
 | 
					419,294 -> 419,79
 | 
				
			||||||
 | 
					595,545 -> 595,775
 | 
				
			||||||
 | 
					285,516 -> 285,816
 | 
				
			||||||
 | 
					137,933 -> 137,61
 | 
				
			||||||
 | 
					278,245 -> 610,577
 | 
				
			||||||
 | 
					282,142 -> 21,142
 | 
				
			||||||
 | 
					723,720 -> 251,248
 | 
				
			||||||
 | 
					552,461 -> 654,461
 | 
				
			||||||
 | 
					833,546 -> 785,546
 | 
				
			||||||
 | 
					503,129 -> 450,76
 | 
				
			||||||
 | 
					455,436 -> 653,436
 | 
				
			||||||
 | 
					236,132 -> 926,822
 | 
				
			||||||
 | 
					559,754 -> 559,615
 | 
				
			||||||
 | 
					262,169 -> 275,169
 | 
				
			||||||
 | 
					942,551 -> 942,273
 | 
				
			||||||
 | 
					178,709 -> 178,69
 | 
				
			||||||
 | 
					11,476 -> 811,476
 | 
				
			||||||
 | 
					238,664 -> 238,867
 | 
				
			||||||
 | 
					121,514 -> 278,514
 | 
				
			||||||
 | 
					348,300 -> 348,453
 | 
				
			||||||
 | 
					981,905 -> 981,139
 | 
				
			||||||
 | 
					870,71 -> 870,69
 | 
				
			||||||
 | 
					12,693 -> 931,693
 | 
				
			||||||
 | 
					438,676 -> 110,348
 | 
				
			||||||
 | 
					167,436 -> 167,839
 | 
				
			||||||
 | 
					419,146 -> 170,146
 | 
				
			||||||
 | 
					231,183 -> 231,278
 | 
				
			||||||
 | 
					766,967 -> 700,967
 | 
				
			||||||
 | 
					834,624 -> 445,624
 | 
				
			||||||
 | 
					392,639 -> 392,808
 | 
				
			||||||
 | 
					739,176 -> 161,176
 | 
				
			||||||
 | 
					186,126 -> 186,451
 | 
				
			||||||
 | 
					675,709 -> 675,629
 | 
				
			||||||
 | 
					613,483 -> 981,483
 | 
				
			||||||
 | 
					495,21 -> 581,107
 | 
				
			||||||
 | 
					626,234 -> 111,234
 | 
				
			||||||
 | 
					28,291 -> 28,883
 | 
				
			||||||
 | 
					65,932 -> 942,55
 | 
				
			||||||
 | 
					988,977 -> 54,43
 | 
				
			||||||
 | 
					108,523 -> 108,820
 | 
				
			||||||
 | 
					936,893 -> 211,168
 | 
				
			||||||
 | 
					51,935 -> 957,29
 | 
				
			||||||
 | 
					949,892 -> 108,51
 | 
				
			||||||
 | 
					478,32 -> 228,32
 | 
				
			||||||
 | 
					473,107 -> 82,498
 | 
				
			||||||
 | 
					449,401 -> 449,645
 | 
				
			||||||
 | 
					833,110 -> 295,648
 | 
				
			||||||
 | 
					982,138 -> 982,111
 | 
				
			||||||
 | 
					438,447 -> 661,224
 | 
				
			||||||
 | 
					208,745 -> 917,36
 | 
				
			||||||
 | 
					287,934 -> 832,389
 | 
				
			||||||
 | 
					974,17 -> 974,105
 | 
				
			||||||
 | 
					391,251 -> 517,377
 | 
				
			||||||
 | 
					57,256 -> 57,704
 | 
				
			||||||
 | 
					580,217 -> 626,171
 | 
				
			||||||
 | 
					468,383 -> 348,383
 | 
				
			||||||
 | 
					185,127 -> 185,851
 | 
				
			||||||
 | 
					633,878 -> 20,265
 | 
				
			||||||
 | 
					659,85 -> 659,698
 | 
				
			||||||
 | 
					64,828 -> 64,592
 | 
				
			||||||
 | 
					216,812 -> 287,812
 | 
				
			||||||
 | 
					707,396 -> 707,167
 | 
				
			||||||
 | 
					173,54 -> 173,723
 | 
				
			||||||
 | 
					467,963 -> 936,963
 | 
				
			||||||
 | 
					61,123 -> 371,433
 | 
				
			||||||
 | 
					794,52 -> 794,595
 | 
				
			||||||
 | 
					604,653 -> 244,293
 | 
				
			||||||
 | 
					352,840 -> 90,840
 | 
				
			||||||
 | 
					354,383 -> 788,383
 | 
				
			||||||
 | 
					770,280 -> 770,621
 | 
				
			||||||
 | 
					494,486 -> 897,486
 | 
				
			||||||
 | 
					126,252 -> 361,252
 | 
				
			||||||
 | 
					97,618 -> 491,224
 | 
				
			||||||
 | 
					945,262 -> 945,72
 | 
				
			||||||
 | 
					138,495 -> 138,107
 | 
				
			||||||
 | 
					767,561 -> 304,561
 | 
				
			||||||
 | 
					59,981 -> 841,199
 | 
				
			||||||
 | 
					902,846 -> 499,846
 | 
				
			||||||
 | 
					883,22 -> 128,22
 | 
				
			||||||
 | 
					699,173 -> 840,32
 | 
				
			||||||
 | 
					889,22 -> 113,798
 | 
				
			||||||
 | 
					647,896 -> 647,226
 | 
				
			||||||
 | 
					221,928 -> 221,66
 | 
				
			||||||
 | 
					633,145 -> 648,130
 | 
				
			||||||
 | 
					91,935 -> 91,162
 | 
				
			||||||
 | 
					87,36 -> 983,932
 | 
				
			||||||
 | 
					882,916 -> 638,916
 | 
				
			||||||
 | 
					942,72 -> 38,976
 | 
				
			||||||
 | 
					159,401 -> 123,437
 | 
				
			||||||
 | 
					762,452 -> 762,721
 | 
				
			||||||
 | 
					228,515 -> 130,613
 | 
				
			||||||
 | 
					751,353 -> 387,717
 | 
				
			||||||
 | 
					256,449 -> 256,811
 | 
				
			||||||
 | 
					176,866 -> 176,778
 | 
				
			||||||
 | 
					894,985 -> 894,462
 | 
				
			||||||
 | 
					831,708 -> 148,25
 | 
				
			||||||
 | 
					140,920 -> 574,920
 | 
				
			||||||
 | 
					639,873 -> 585,873
 | 
				
			||||||
 | 
					791,716 -> 224,149
 | 
				
			||||||
 | 
					117,691 -> 117,158
 | 
				
			||||||
 | 
					825,689 -> 873,641
 | 
				
			||||||
 | 
					656,191 -> 134,191
 | 
				
			||||||
 | 
					862,818 -> 78,34
 | 
				
			||||||
 | 
					22,952 -> 961,13
 | 
				
			||||||
 | 
					982,555 -> 982,21
 | 
				
			||||||
							
								
								
									
										10
									
								
								5/input_example.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								5/input_example.txt
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,10 @@
 | 
				
			||||||
 | 
					0,9 -> 5,9
 | 
				
			||||||
 | 
					8,0 -> 0,8
 | 
				
			||||||
 | 
					9,4 -> 3,4
 | 
				
			||||||
 | 
					2,2 -> 2,1
 | 
				
			||||||
 | 
					7,0 -> 7,4
 | 
				
			||||||
 | 
					6,4 -> 2,0
 | 
				
			||||||
 | 
					0,9 -> 2,9
 | 
				
			||||||
 | 
					3,4 -> 1,4
 | 
				
			||||||
 | 
					0,0 -> 8,8
 | 
				
			||||||
 | 
					5,5 -> 8,2
 | 
				
			||||||
		Loading…
	
		Reference in a new issue