Add 2020 - Day 5
This commit is contained in:
		
							
								
								
									
										174
									
								
								2020/day5.ahk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										174
									
								
								2020/day5.ahk
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,174 @@ | ||||
| #SingleInstance, Force | ||||
| loc := A_ScriptDir "\data5.txt" | ||||
| file := FileOpen(loc, "r") | ||||
| data := [] | ||||
|  | ||||
| dialog(str){ | ||||
| 	MsgBox, 1,, %str% | ||||
| 	IfMsgBox, Cancel | ||||
| 		Run, day5.ahk | ||||
| } | ||||
|  | ||||
| while !(file.AtEOF){ | ||||
| 	line := file.ReadLine() | ||||
| 	line := RegExReplace(line, "F|L", "0") | ||||
| 	line := RegExReplace(line, "B|R", "1") | ||||
| 	data.Push(line) | ||||
| } | ||||
|  | ||||
| dialog(data[data.MinIndex()]) | ||||
| data := {} | ||||
| file.pos := 0 | ||||
|  | ||||
| while !(file.AtEOF){ | ||||
| 	line := file.ReadLine() | ||||
| 	RegExMatch(line, "(.......)(...)", res) | ||||
| 	Switch res1 | ||||
| 	{ | ||||
| 		Case "FFFFFFF":	row := 0 | ||||
|     	Case "FFFFFFB":	row := 1 | ||||
| 		Case "FFFFFBF": row := 2 | ||||
| 		Case "FFFFFBB": row := 3 | ||||
| 		Case "FFFFBFF": row := 4 | ||||
| 		Case "FFFFBFB": row := 5 | ||||
| 		Case "FFFFBBF": row := 6 | ||||
| 		Case "FFFFBBB": row := 7 | ||||
| 		Case "FFFBFFF": row := 8 | ||||
| 		Case "FFFBFFB": row := 9 | ||||
| 		Case "FFFBFBF": row := 10 | ||||
| 		Case "FFFBFBB": row := 11 | ||||
| 		Case "FFFBBFF": row := 12 | ||||
| 		Case "FFFBBFB": row := 13 | ||||
| 		Case "FFFBBBF": row := 14 | ||||
| 		Case "FFFBBBB": row := 15 | ||||
| 		Case "FFBFFFF": row := 16 | ||||
| 		Case "FFBFFFB": row := 17 | ||||
| 		Case "FFBFFBF": row := 18 | ||||
| 		Case "FFBFFBB": row := 19 | ||||
| 		Case "FFBFBFF": row := 20 | ||||
| 		Case "FFBFBFB": row := 21 | ||||
| 		Case "FFBFBBF": row := 22 | ||||
| 		Case "FFBFBBB": row := 23 | ||||
| 		Case "FFBBFFF": row := 24 | ||||
| 		Case "FFBBFFB": row := 25 | ||||
| 		Case "FFBBFBF": row := 26 | ||||
| 		Case "FFBBFBB": row := 27 | ||||
| 		Case "FFBBBFF": row := 28 | ||||
| 		Case "FFBBBFB": row := 29 | ||||
| 		Case "FFBBBBF": row := 30 | ||||
| 		Case "FFBBBBB": row := 31 | ||||
| 		Case "FBFFFFF": row := 32 | ||||
| 		Case "FBFFFFB": row := 33 | ||||
| 		Case "FBFFFBF": row := 34 | ||||
| 		Case "FBFFFBB": row := 35 | ||||
| 		Case "FBFFBFF": row := 36 | ||||
| 		Case "FBFFBFB": row := 37 | ||||
| 		Case "FBFFBBF": row := 38 | ||||
| 		Case "FBFFBBB": row := 39 | ||||
| 		Case "FBFBFFF": row := 40 | ||||
| 		Case "FBFBFFB": row := 41 | ||||
| 		Case "FBFBFBF": row := 42 | ||||
| 		Case "FBFBFBB": row := 43 | ||||
| 		Case "FBFBBFF": row := 44 | ||||
| 		Case "FBFBBFB": row := 45 | ||||
| 		Case "FBFBBBF": row := 46 | ||||
| 		Case "FBFBBBB": row := 47 | ||||
| 		Case "FBBFFFF": row := 48 | ||||
| 		Case "FBBFFFB": row := 49 | ||||
| 		Case "FBBFFBF": row := 50 | ||||
| 		Case "FBBFFBB": row := 51 | ||||
| 		Case "FBBFBFF": row := 52 | ||||
| 		Case "FBBFBFB": row := 53 | ||||
| 		Case "FBBFBBF": row := 54 | ||||
| 		Case "FBBFBBB": row := 55 | ||||
| 		Case "FBBBFFF": row := 56 | ||||
| 		Case "FBBBFFB": row := 57 | ||||
| 		Case "FBBBFBF": row := 58 | ||||
| 		Case "FBBBFBB": row := 59 | ||||
| 		Case "FBBBBFF": row := 60 | ||||
| 		Case "FBBBBFB": row := 61 | ||||
| 		Case "FBBBBBF": row := 62 | ||||
| 		Case "FBBBBBB": row := 63 | ||||
| 		Case "BFFFFFF": row := 64 | ||||
| 		Case "BFFFFFB": row := 65 | ||||
| 		Case "BFFFFBF": row := 66 | ||||
| 		Case "BFFFFBB": row := 67 | ||||
| 		Case "BFFFBFF": row := 68 | ||||
| 		Case "BFFFBFB": row := 69 | ||||
| 		Case "BFFFBBF": row := 70 | ||||
| 		Case "BFFFBBB": row := 71 | ||||
| 		Case "BFFBFFF": row := 72 | ||||
| 		Case "BFFBFFB": row := 73 | ||||
| 		Case "BFFBFBF": row := 74 | ||||
| 		Case "BFFBFBB": row := 75 | ||||
| 		Case "BFFBBFF": row := 76 | ||||
| 		Case "BFFBBFB": row := 77 | ||||
| 		Case "BFFBBBF": row := 78 | ||||
| 		Case "BFFBBBB": row := 79 | ||||
| 		Case "BFBFFFF": row := 80 | ||||
| 		Case "BFBFFFB": row := 81 | ||||
| 		Case "BFBFFBF": row := 82 | ||||
| 		Case "BFBFFBB": row := 83 | ||||
| 		Case "BFBFBFF": row := 84 | ||||
| 		Case "BFBFBFB": row := 85 | ||||
| 		Case "BFBFBBF": row := 86 | ||||
| 		Case "BFBFBBB": row := 87 | ||||
| 		Case "BFBBFFF": row := 88 | ||||
| 		Case "BFBBFFB": row := 89 | ||||
| 		Case "BFBBFBF": row := 90 | ||||
| 		Case "BFBBFBB": row := 91 | ||||
| 		Case "BFBBBFF": row := 92 | ||||
| 		Case "BFBBBFB": row := 93 | ||||
| 		Case "BFBBBBF": row := 94 | ||||
| 		Case "BFBBBBB": row := 95 | ||||
| 		Case "BBFFFFF": row := 96 | ||||
| 		Case "BBFFFFB": row := 97 | ||||
| 		Case "BBFFFBF": row := 98 | ||||
| 		Case "BBFFFBB": row := 99 | ||||
| 		Case "BBFFBFF": row := 100 | ||||
| 		Case "BBFFBFB": row := 101 | ||||
| 		Case "BBFFBBF": row := 102 | ||||
| 		Case "BBFFBBB":	row := 103 | ||||
| 		Case "BBFBFFF":	row := 104 | ||||
| 		Case "BBFBFFB":	row := 105 | ||||
| 		Case "BBFBFBF":	row := 106 | ||||
| 		Case "BBFBFBB":	row := 107 | ||||
| 		Case "BBFBBFF":	row := 108 | ||||
| 		Case "BBFBBFB":	row := 109 | ||||
| 		Case "BBFBBBF":	row := 110 | ||||
| 		Case "BBFBBBB":	row := 111 | ||||
| 		Case "BBBFFFF":	row := 112 | ||||
| 		Case "BBBFFFB":	row := 113 | ||||
| 		Case "BBBFFBF":	row := 114 | ||||
| 		Case "BBBFFBB":	row := 115 | ||||
| 		Case "BBBFBFF":	row := 116 | ||||
| 		Case "BBBFBFB":	row := 117 | ||||
| 		Case "BBBFBBF":	row := 118 | ||||
| 		Case "BBBFBBB":	row := 119 | ||||
| 		Case "BBBBFFF":	row := 120 | ||||
| 		Case "BBBBFFB":	row := 121 | ||||
| 		Case "BBBBFBF":	row := 122 | ||||
| 		Case "BBBBFBB":	row := 123 | ||||
| 		Case "BBBBBFF":	row := 124 | ||||
| 		Case "BBBBBFB":	row := 125 | ||||
| 		Case "BBBBBBF":	row := 126 | ||||
| 		Case "BBBBBBB":	row := 127 | ||||
| 	} | ||||
| 	Switch res2 | ||||
| 	{ | ||||
| 		Case "LLL":		col := 0 | ||||
|     	Case "LLR":		col := 1 | ||||
| 		Case "LRL":		col := 2 | ||||
|     	Case "LRR":		col := 3 | ||||
|     	Case "RLL":		col := 4 | ||||
|     	Case "RLR":		col := 5 | ||||
|     	Case "RRL":		col := 6 | ||||
|     	Case "RRR":		col := 7 | ||||
| 	} | ||||
| 	sID := row * 8 | ||||
| 	sID += col | ||||
| 	 | ||||
| 	data.push(sID) | ||||
| } | ||||
|  | ||||
| dialog("Or " data[data.MinIndex()]) | ||||
		Reference in New Issue
	
	Block a user