Finish day04 part2
This commit is contained in:
		
							parent
							
								
									142c4dd69b
								
							
						
					
					
						commit
						bf5141b9fc
					
				
							
								
								
									
										614
									
								
								day04.in2
								
								
								
								
							
							
						
						
									
										614
									
								
								day04.in2
								
								
								
								
							|  | @ -1,20 +1,602 @@ | |||
| 7,4,9,5,11,17,23,2,0,14,21,24,10,16,13,6,15,25,12,22,18,20,8,19,3,26,1 | ||||
| 31,88,35,24,46,48,95,42,18,43,71,32,92,62,97,63,50,2,60,58,74,66,15,87,57,34,14,3,54,93,75,22,45,10,56,12,83,30,8,76,1,78,82,39,98,37,19,26,81,64,55,41,16,4,72,5,52,80,84,67,21,86,23,91,0,68,36,13,44,20,69,40,90,96,27,77,38,49,94,47,9,65,28,59,79,6,29,61,53,11,17,73,99,25,89,51,7,33,85,70 | ||||
| 
 | ||||
| 22 13 17 11  0 | ||||
|  8  2 23  4 24 | ||||
| 21  9 14 16  7 | ||||
|  6 10  3 18  5 | ||||
|  1 12 20 15 19 | ||||
| 50 83  3 31 16 | ||||
| 47  9 94 10 86 | ||||
| 61 22 53 46 74 | ||||
| 77 41 79 55 62 | ||||
| 97 78 43 73 40 | ||||
| 
 | ||||
|  3 15  0  2 22 | ||||
|  9 18 13 17  5 | ||||
| 19  8  7 25 23 | ||||
| 20 11 10 24  4 | ||||
| 14 21 16 12  6 | ||||
| 99 96 20 35 21 | ||||
| 38 17 48 69 68 | ||||
|  9 51 32 52 11 | ||||
| 67  8 42 89 27 | ||||
| 39 62 66 72 43 | ||||
| 
 | ||||
| 14 21 17 24  4 | ||||
| 10 16 15  9 19 | ||||
| 18  8 23 26 20 | ||||
| 22 11 13  6  5 | ||||
|  2  0 12  3  7 | ||||
| 33 16  4 78 31 | ||||
| 96 66 13 55 18 | ||||
| 47 89 83 99 85 | ||||
| 50 43 39 34 98 | ||||
| 81 65  7 23 17 | ||||
| 
 | ||||
| 24 13 57 84 50 | ||||
| 83 86 98 92  7 | ||||
| 28 31 85 21 12 | ||||
| 37 48 43 47 67 | ||||
| 19 27  1 20 16 | ||||
| 
 | ||||
| 38 75  3 14  4 | ||||
|  8 86 98 94 83 | ||||
| 60 46 63 85 20 | ||||
| 69 26 73 40 29 | ||||
| 48 84 33 18 74 | ||||
| 
 | ||||
| 13 33 37 45 22 | ||||
| 19 28 61 58 69 | ||||
| 42 14 23 39 88 | ||||
| 92 81 54 99 52 | ||||
| 57  3 34 29 62 | ||||
| 
 | ||||
| 19 71 46 13 81 | ||||
| 99 34  8  7 89 | ||||
| 72 56 38 22 27 | ||||
| 52  2 44 12  4 | ||||
| 53 86 45 95 39 | ||||
| 
 | ||||
| 67 12 16 60 47 | ||||
| 79 21 99 15 59 | ||||
| 81 13 64 83  4 | ||||
| 85 48 17 29 66 | ||||
| 41 97 80 51 68 | ||||
| 
 | ||||
| 72 19 67  6  9 | ||||
| 63 80 78 97 43 | ||||
| 53 73 91 44 47 | ||||
|  3 54 41 61 70 | ||||
| 69 36 57 55 45 | ||||
| 
 | ||||
| 97  7 39 48 10 | ||||
| 77 42 65 89 79 | ||||
| 24 58 23 37 15 | ||||
| 26 71 41 18 87 | ||||
| 50 88 98 43  1 | ||||
| 
 | ||||
| 76 50 48 10 77 | ||||
| 27 13 18 35 24 | ||||
| 31 72 41 64  2 | ||||
| 16 43 36 81 26 | ||||
| 66 51 30 34 74 | ||||
| 
 | ||||
| 93 99 19 72 58 | ||||
|  7 76 80 94 23 | ||||
| 87 59 30 77 49 | ||||
| 53 88 51  4 36 | ||||
| 90 38 64 70 46 | ||||
| 
 | ||||
| 36 38 45 13 68 | ||||
| 12 35 57 64 29 | ||||
| 71 74 15  0 49 | ||||
| 77 21 27 84 65 | ||||
| 22 23 60 17 10 | ||||
| 
 | ||||
| 84 31 99 93 98 | ||||
| 71 73 48 38 83 | ||||
| 12 74 34 57 45 | ||||
|  2  9 76 79 77 | ||||
|  0 51 72 33 29 | ||||
| 
 | ||||
| 65 43 15 53 89 | ||||
| 75 55 99 59 48 | ||||
|  6 85 68 30 39 | ||||
|  5  0 47 81 95 | ||||
| 96 31 23 87 73 | ||||
| 
 | ||||
| 23 88 98 43 56 | ||||
|  4 89 53 34 41 | ||||
| 33 37 24 27 19 | ||||
| 22 83 72 75 31 | ||||
| 68 95 77  1 49 | ||||
| 
 | ||||
| 14 48 20 73 11 | ||||
| 27  1  5 61 60 | ||||
| 96 99  9 64 29 | ||||
| 42 92 59 95 81 | ||||
| 69 97 78 86 16 | ||||
| 
 | ||||
| 69 10 41 13 90 | ||||
| 75 95 99 72 29 | ||||
|  7 85 42 77 16 | ||||
| 88 19  2 45 64 | ||||
| 14  0 83 43 70 | ||||
| 
 | ||||
| 74 85 45 50  6 | ||||
| 92 19 43 97 65 | ||||
| 56 11 77  5 28 | ||||
| 16 10 54 44 63 | ||||
|  3 93 75 12 51 | ||||
| 
 | ||||
| 40 43 92 21 90 | ||||
|  5 62 74 34 25 | ||||
| 88 47 65 37 83 | ||||
| 15  6 10 99 89 | ||||
| 78 56 35 75  9 | ||||
| 
 | ||||
| 96 74 41 81 31 | ||||
| 35 94 48 44 21 | ||||
| 99 11 32 15 43 | ||||
| 91 34 85 23  7 | ||||
| 54 77 89 13 26 | ||||
| 
 | ||||
| 18 58 19 28 69 | ||||
| 74 41 91 88 15 | ||||
| 11 86 44 99 45 | ||||
| 79 93 80 55  4 | ||||
| 70 56 37 84 78 | ||||
| 
 | ||||
| 48 95 57 70 84 | ||||
| 31 73 35 77 68 | ||||
|  4 53 32 63 13 | ||||
| 46  3 71 88 37 | ||||
| 72 65 36 50 49 | ||||
| 
 | ||||
| 75  9 36 94  3 | ||||
| 71 62 65  0 15 | ||||
| 18 31 57 35 38 | ||||
|  6 16 22 34 95 | ||||
| 66 29 52 73 68 | ||||
| 
 | ||||
| 83 54 24 26 96 | ||||
| 36  2  3 34 95 | ||||
| 16 77 11 56 91 | ||||
| 80 10 93 42 59 | ||||
| 88 47 76 55 79 | ||||
| 
 | ||||
| 51 76  4 75  7 | ||||
| 17 98 78 12 66 | ||||
|  1 31 52 30 45 | ||||
| 74 29  6 87 90 | ||||
| 32  9 88 13 34 | ||||
| 
 | ||||
| 97 92 40 73 76 | ||||
| 21 15 34 35 45 | ||||
|  1 27 48 78 46 | ||||
| 95 43 17 16 20 | ||||
| 62 28 52 56 68 | ||||
| 
 | ||||
| 16 86 55 23 30 | ||||
| 20 73 83 89 35 | ||||
| 42 38 87 59 69 | ||||
|  3 79 85 43 78 | ||||
| 84 19 18 17 33 | ||||
| 
 | ||||
| 10 43  3 68 56 | ||||
| 16 52 45 77 25 | ||||
| 75 73 66 46 82 | ||||
| 41 80 99 11 93 | ||||
| 71 79 37  5 84 | ||||
| 
 | ||||
|  9 76 96 14 52 | ||||
| 67 74 86 32  4 | ||||
|  6 28 31 27 23 | ||||
| 56 58 25 69 38 | ||||
| 82 91 26 15 57 | ||||
| 
 | ||||
| 96 62 34 67 53 | ||||
| 99  5 27 45 63 | ||||
| 80 38  0 71 43 | ||||
| 75 49 33 36  2 | ||||
| 15 21 54 20 81 | ||||
| 
 | ||||
| 96 59 72  6 38 | ||||
| 60 70 76 82 46 | ||||
| 47 53 51 64 98 | ||||
| 44 25 69 81 33 | ||||
| 73 52 10 74 55 | ||||
| 
 | ||||
| 52 25 99 11 60 | ||||
| 56 63 39 43  2 | ||||
| 34 45 59  8 30 | ||||
| 51 92 90 86 98 | ||||
| 19 80 47 69 13 | ||||
| 
 | ||||
| 11 98 55  6 39 | ||||
| 70 26 99 57 75 | ||||
| 52 41 81  3  5 | ||||
| 96 92 94 35 46 | ||||
| 24 78 40 58 95 | ||||
| 
 | ||||
| 81 87 93 88 29 | ||||
| 61  2 11 72 31 | ||||
| 60 76 19 36 58 | ||||
| 71 43 69 94 45 | ||||
| 99  9 62 48 30 | ||||
| 
 | ||||
| 84 87 15 67 54 | ||||
| 13 81 97  8 92 | ||||
| 43 60  5 19  0 | ||||
| 91 20 69  1 29 | ||||
| 23  7 74 28 53 | ||||
| 
 | ||||
| 73 68 24 64 47 | ||||
| 81 35 23 95 39 | ||||
| 51 69 94 37 21 | ||||
| 97 48 66 91 55 | ||||
| 56 18 49  9 86 | ||||
| 
 | ||||
| 67 96 91 73 44 | ||||
| 77 10 50 81 19 | ||||
| 63 55 46 95 97 | ||||
|  8 69 40 70 61 | ||||
| 31 20 92 98 72 | ||||
| 
 | ||||
| 36 81 69 98 59 | ||||
| 39 15 96  9 23 | ||||
| 14 84 88 89 90 | ||||
| 45 34 22 64 50 | ||||
| 86 32 53 77 55 | ||||
| 
 | ||||
| 20 62 23 29 77 | ||||
| 13  0 14 92 42 | ||||
|  5 88  8  1 16 | ||||
| 80 79 84 49 40 | ||||
| 46 96 71 76 25 | ||||
| 
 | ||||
| 17 65 37  3 35 | ||||
| 23 22 95 91 36 | ||||
| 61 11 51 64 85 | ||||
| 81 75 53 88 62 | ||||
| 59 14 29 73 57 | ||||
| 
 | ||||
| 91 87 11 35 98 | ||||
| 34  1 28 27 10 | ||||
| 92 40 64 24 43 | ||||
| 55 49 42  0 36 | ||||
| 93 19 45 21 71 | ||||
| 
 | ||||
| 82 86 14 10 43 | ||||
| 44 87 62 85 38 | ||||
| 31 67  3 68 64 | ||||
| 56 36 79 78 58 | ||||
| 21 95 35 90 18 | ||||
| 
 | ||||
| 90 60 20 27 80 | ||||
| 39 30 12 83 96 | ||||
| 49  4 11 98 76 | ||||
| 74 37 54 26 19 | ||||
| 35 43 92 62 34 | ||||
| 
 | ||||
| 36 23 45 24 63 | ||||
| 66 34 32 67 30 | ||||
| 26  0  5 69 50 | ||||
| 21 80 96 38 93 | ||||
| 49 46 61 41 16 | ||||
| 
 | ||||
| 52 97 64 34 74 | ||||
| 28 46 31 56 75 | ||||
| 44 35 63 77  8 | ||||
|  7 68 71 18 38 | ||||
| 61 91 49 26 15 | ||||
| 
 | ||||
| 83 80 10 38 45 | ||||
| 81 99 30  3 63 | ||||
| 57 96 82 55 76 | ||||
| 75 41 86 94 46 | ||||
| 59 42 40 68 48 | ||||
| 
 | ||||
| 48 43 92 50 21 | ||||
| 37 56  8 38 94 | ||||
| 73 74 35  3 52 | ||||
|  7 29 82 98 86 | ||||
| 57 79 22  1 14 | ||||
| 
 | ||||
| 53 46  4 76 28 | ||||
| 30 80 13 69 86 | ||||
| 54 70 40 77 71 | ||||
| 58 24 59 37 91 | ||||
| 45 51 43 90 74 | ||||
| 
 | ||||
|  5 33 59 78 84 | ||||
|  1 90 49 72 27 | ||||
| 76 12 31 86 11 | ||||
| 74 18 52 47 19 | ||||
| 17 16 34 25 82 | ||||
| 
 | ||||
| 41 42 21 31 44 | ||||
| 70 10  8 16 55 | ||||
| 82 60 77 89 43 | ||||
| 38  4 58 90 94 | ||||
| 74 71 93 88 61 | ||||
| 
 | ||||
| 60 95 12 74 56 | ||||
| 82  3 48 22 27 | ||||
| 67 49  4 42 39 | ||||
| 18 35 43 87 45 | ||||
| 76 63 54 21 19 | ||||
| 
 | ||||
| 35 89 76 86 32 | ||||
| 49  9  0 91 99 | ||||
| 87 26 97 22 44 | ||||
| 21 19 48 84 33 | ||||
| 98 30 50 90 53 | ||||
| 
 | ||||
| 62 77  8 16 96 | ||||
| 73 65 39 79 78 | ||||
| 12 55 86 99 60 | ||||
|  9 22 71 98  2 | ||||
| 24 70 75 50 41 | ||||
| 
 | ||||
| 46 55 77 38 26 | ||||
| 70 19 72 88 23 | ||||
| 91 84 56 51 99 | ||||
| 49 69 90 48 14 | ||||
| 93 76 63 92 71 | ||||
| 
 | ||||
| 16 76 31 17 24 | ||||
| 14 95 34 12 75 | ||||
| 37 50 74 73 41 | ||||
| 68 56 58 23 84 | ||||
| 63 26 55 15 54 | ||||
| 
 | ||||
| 35 65 20 19 61 | ||||
| 56  3 40 66 26 | ||||
| 36 44 13 18 78 | ||||
|  8 12  9 48 51 | ||||
|  0 93 53 71 95 | ||||
| 
 | ||||
|  6 63  5 47 48 | ||||
| 81 86 43 73 69 | ||||
| 55 83 36  4 33 | ||||
| 23 96 88 38 32 | ||||
| 52 85 60 53  2 | ||||
| 
 | ||||
| 27 88 14 49 89 | ||||
| 17 75 34 87 96 | ||||
| 76 48 95 60 98 | ||||
| 46 22 29 30  6 | ||||
|  3 94 63 77 83 | ||||
| 
 | ||||
| 63 98 18 73 80 | ||||
| 37 56 95 60 53 | ||||
|  6 97 59 17 55 | ||||
| 20 74 24 96 79 | ||||
| 19 31 61  0 38 | ||||
| 
 | ||||
| 93 52 54 25 51 | ||||
| 97 94 76 31 82 | ||||
| 53 74 87 65 89 | ||||
| 22 62 92 15 73 | ||||
| 17 95  1 32 43 | ||||
| 
 | ||||
|  5 44 76 22 33 | ||||
| 16 91 48 42 29 | ||||
| 10 13 25 69 51 | ||||
| 97  7 64 60 88 | ||||
| 32 86 74 39 68 | ||||
| 
 | ||||
| 15 60 30 58 32 | ||||
|  2 92 49 70  1 | ||||
| 29 90 85 93 59 | ||||
| 88 95 61 55 57 | ||||
| 19  8 97 10 45 | ||||
| 
 | ||||
| 49 83 66 38 97 | ||||
| 68 81 69 92 47 | ||||
| 70 32 98  4 63 | ||||
| 37 25 84 80 54 | ||||
| 31 56 51 74 57 | ||||
| 
 | ||||
| 86 75 61 68 26 | ||||
| 82 81 25 69 44 | ||||
| 62 70 23 37 43 | ||||
| 29 98 39 54 33 | ||||
| 87 93 15 79 58 | ||||
| 
 | ||||
| 50 54 78 51 91 | ||||
| 71 70 27 28 76 | ||||
| 49  1 48 11 83 | ||||
| 98  4 56 86 67 | ||||
| 44 23 16 17 94 | ||||
| 
 | ||||
| 84 78  3 44 96 | ||||
| 59 86 70 80 48 | ||||
| 93 88 52 43 61 | ||||
| 95 66 46 62 58 | ||||
|  5 25  6 85 99 | ||||
| 
 | ||||
| 66 40 33 10 52 | ||||
| 38 30 99 79 60 | ||||
| 75 72 59  2 53 | ||||
| 20 83 43 76 44 | ||||
| 48 46 63 15 84 | ||||
| 
 | ||||
| 54 80 53 36 95 | ||||
| 59 41  5 82 52 | ||||
| 55 56 22 33 15 | ||||
| 37 10 81 79 27 | ||||
| 42 98 83 23 28 | ||||
| 
 | ||||
| 94 26 80 60 62 | ||||
| 91 57 58 59 39 | ||||
| 38 29 41 86 88 | ||||
| 11 46 66 73 95 | ||||
| 78 63 12 40 89 | ||||
| 
 | ||||
| 57 77 46 88 69 | ||||
| 45 89 71 43 35 | ||||
| 56 52 30 29  8 | ||||
| 68 39 64 66 28 | ||||
| 10 47 80  7 19 | ||||
| 
 | ||||
| 57 37 63 90 88 | ||||
| 47 10 22 58 46 | ||||
| 95 71 24 60 23 | ||||
|  0 45 75 50 77 | ||||
| 73 26 36  7 79 | ||||
| 
 | ||||
| 26 79 66 87 72 | ||||
| 94 29 17 57 81 | ||||
| 64 91 28 27 89 | ||||
| 95 25  4 31 86 | ||||
| 85 34  6 21 76 | ||||
| 
 | ||||
| 70 35 89 57 42 | ||||
| 34 54 64 71 61 | ||||
| 11 97 92 22 10 | ||||
|  0 81 78  7 53 | ||||
| 63 65 39  2 25 | ||||
| 
 | ||||
| 11  5 24 28 10 | ||||
| 63 35 69 49 65 | ||||
| 42  4 60 57  6 | ||||
|  1  2 22 81 66 | ||||
| 70  9 86 50 64 | ||||
| 
 | ||||
|  9 73 85  6 43 | ||||
| 74 24 30 76 89 | ||||
| 38 67 60 42 78 | ||||
| 34 22 20 69 92 | ||||
| 71 79 35 17  0 | ||||
| 
 | ||||
| 66 61 87 49  7 | ||||
| 60 25 39 69 27 | ||||
| 41 76 59 95 45 | ||||
| 16 99 64 34  1 | ||||
| 74 62  9 75 18 | ||||
| 
 | ||||
| 24 15 47 80  0 | ||||
| 99 92 29 67 64 | ||||
| 94 27 85 97 19 | ||||
| 55 75 46 91 52 | ||||
| 32  8 76 61 14 | ||||
| 
 | ||||
| 95 10 21 53 63 | ||||
| 94 90 56 13 71 | ||||
| 76 42 17 35 65 | ||||
| 31 29 57  8 64 | ||||
| 77 30 16 79 61 | ||||
| 
 | ||||
| 85 57  3 67 31 | ||||
| 62 46 55 63 18 | ||||
| 95 37 71  0 24 | ||||
| 23 32 12 96 89 | ||||
| 29 17 79 82  6 | ||||
| 
 | ||||
| 21 53 44 78 99 | ||||
| 73 98 85 41  8 | ||||
| 39 19 28 27 81 | ||||
| 75 38 37 74 66 | ||||
| 47 46  6 29 14 | ||||
| 
 | ||||
| 58 13 76 91 23 | ||||
|  1 99 81 69 86 | ||||
| 45 36 22 53 16 | ||||
| 30 71 89 18 49 | ||||
| 87 95 60 75 98 | ||||
| 
 | ||||
| 30 61 64 54 80 | ||||
| 22 47 84 16  8 | ||||
| 83 18 65 70 11 | ||||
| 81 23 98 26 82 | ||||
| 45 69  6 53 68 | ||||
| 
 | ||||
| 38 29 43 78 85 | ||||
| 67 39 99 98 52 | ||||
| 76 82 51  3 72 | ||||
| 46 19 65 93 34 | ||||
| 90  0  7 20 74 | ||||
| 
 | ||||
| 85  6 67 50 45 | ||||
| 75 79 32  2 94 | ||||
| 22 60 95 34 78 | ||||
| 90  3 58 98 61 | ||||
| 63 26 76 42 89 | ||||
| 
 | ||||
| 28 64 47 36  5 | ||||
| 76 41 26 79 10 | ||||
| 14 56 92 95 22 | ||||
| 32 54 13 98 19 | ||||
| 45 11 69 71 20 | ||||
| 
 | ||||
| 90 46 64 38 73 | ||||
| 48 49 28 45 98 | ||||
| 77 30 35 81 78 | ||||
| 32 92 19 34 12 | ||||
| 69 74  6 89 61 | ||||
| 
 | ||||
| 36 10 29 33 37 | ||||
| 64  7 81 31 79 | ||||
| 56 15 28 51 78 | ||||
|  2 92 50  9 23 | ||||
| 48 73 32  4 39 | ||||
| 
 | ||||
| 86 82 78 41 21 | ||||
| 22 66 65  0 47 | ||||
| 46 43 29 77 45 | ||||
| 37 88 49 90 19 | ||||
| 40 10 96 13 38 | ||||
| 
 | ||||
| 96 30 45 80 77 | ||||
| 27 82 83 64 22 | ||||
| 24 56 11 20 51 | ||||
| 55 54  2 59 14 | ||||
| 76 67 90 93 46 | ||||
| 
 | ||||
| 11 50 90 29 33 | ||||
| 92 81  8 19 47 | ||||
| 25 66 74 22 73 | ||||
| 28  3 97 40 67 | ||||
| 53 71 48 49 57 | ||||
| 
 | ||||
| 26 78 35 27 66 | ||||
| 98 10 88 43 86 | ||||
| 93 30 75 46 56 | ||||
| 23 92 34  4 85 | ||||
| 28 38 42  3 39 | ||||
| 
 | ||||
| 28 96 83 99 97 | ||||
| 61 41 73 48 23 | ||||
| 44  7 89 49 60 | ||||
| 39 76 85 26  9 | ||||
| 82 53 98  2 15 | ||||
| 
 | ||||
| 84 57 27 91 69 | ||||
| 20 43 13  9 61 | ||||
| 28 18 17 71  6 | ||||
| 48 58 55 96 24 | ||||
| 56 95 34 33 15 | ||||
| 
 | ||||
| 24 49 88 55 75 | ||||
| 39 95 59 80 51 | ||||
| 35  0 56  7 25 | ||||
|  9  1 77 64 18 | ||||
| 50 34 54 57 99 | ||||
| 
 | ||||
| 60 78 56 14 90 | ||||
| 44 30 48 15 12 | ||||
| 22 54  2 33 79 | ||||
| 34  4 76 93 29 | ||||
| 38 58 35 18  5 | ||||
| 
 | ||||
| 81 22  3 41 80 | ||||
|  0 77 72 87 30 | ||||
| 97 99 38 69 13 | ||||
| 91 71 24 56  9 | ||||
| 36 44 21 79 53 | ||||
| 
 | ||||
| 88 31 62 15 77 | ||||
| 25 39 37 53 20 | ||||
| 44  0 48  4 47 | ||||
| 29 73 49  8 72 | ||||
| 68 79 84 56 41 | ||||
| 
 | ||||
| 86 48 70 56 67 | ||||
| 68  7 73 55 10 | ||||
| 38 82 65 22 62 | ||||
| 51  2 34 17 53 | ||||
| 47  0 28 39 83 | ||||
| 
 | ||||
| 27 18 39  0 48 | ||||
| 84 74 64 80 60 | ||||
| 28 96 37 65 57 | ||||
| 53 79 89 32 14 | ||||
| 55 63 50  7 62 | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										41
									
								
								day04.py
								
								
								
								
							
							
						
						
									
										41
									
								
								day04.py
								
								
								
								
							|  | @ -36,11 +36,21 @@ def ingest(input): | |||
|     boards = [] | ||||
|     while input.count("\n") != 1: | ||||
|         input.remove("\n") | ||||
|         boards.append([[int(y) for y in x.rstrip().split()] for x in input[0:input.index("\n")]]) | ||||
|         boards.append([[int(y) for y in x.rstrip().split()] for x in | ||||
|                        input[0:input.index("\n")]]) | ||||
|         input = input[input.index("\n"):len(input)] | ||||
|     return (input_seq, boards) | ||||
| 
 | ||||
| 
 | ||||
| def check_spaces(boards, checked, num): | ||||
|     for board in range(len(boards)): | ||||
|         for row in range(len(boards[board])): | ||||
|             for cell in range(len(boards[board][row])): | ||||
|                 if boards[board][row][cell] == num: | ||||
|                     checked[board][row][cell] = 1 | ||||
|     return checked | ||||
| 
 | ||||
| 
 | ||||
| def part1(): | ||||
|     input_seq = [] | ||||
|     boards = [] | ||||
|  | @ -50,11 +60,7 @@ def part1(): | |||
|     checked = [[[0 for i in row] for row in board] for board in boards] | ||||
|     score = 0 | ||||
|     for num in input_seq: | ||||
|         for board in range(len(boards)): | ||||
|             for row in range(len(boards[board])): | ||||
|                 for cell in range(len(boards[board][row])): | ||||
|                     if boards[board][row][cell] == num: | ||||
|                         checked[board][row][cell] = 1 | ||||
|         checked = check_spaces(boards, checked, num) | ||||
|         win_board = get_win_board(boards, checked) | ||||
|         if win_board is not None: | ||||
|             score = calc_score(boards[win_board], checked[win_board], num) | ||||
|  | @ -63,12 +69,27 @@ def part1(): | |||
| 
 | ||||
| 
 | ||||
| def part2(): | ||||
|     input_seq = [] | ||||
|     boards = [] | ||||
|     with open("day04.in2", "r") as f: | ||||
|         input_seq, boards = ingest([line for line in f]) | ||||
|     print(input_seq) | ||||
|     print(boards) | ||||
| 
 | ||||
|     checked = [[[0 for i in row] for row in board] for board in boards] | ||||
|     win_boards = [0 for i in range(len(boards))] | ||||
|     loosing_board = -1 | ||||
|     for num in input_seq: | ||||
|         checked = check_spaces(boards, checked, num) | ||||
|         if loosing_board != -1: | ||||
|             score = calc_score(boards[loosing_board], checked[loosing_board], | ||||
|                                num) | ||||
|             break | ||||
|         for board in range(len(checked)): | ||||
|             if check_win(checked[board]): | ||||
|                 win_boards[board] = 1 | ||||
|         if win_boards.count(0) == 1: | ||||
|             loosing_board = win_boards.index(0) | ||||
|             score = calc_score(boards[loosing_board], checked[loosing_board], | ||||
|                                num) | ||||
|     print("board", loosing_board, "lost") | ||||
|     print("Loosing score:", score) | ||||
| 
 | ||||
| 
 | ||||
| def main(): | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue