Add 2020 - Day 5

This commit is contained in:
David Daily 2020-12-08 22:16:33 -06:00
parent 8863a73be0
commit 0b01b39987
1 changed files with 174 additions and 0 deletions

174
2020/day5.ahk Normal file
View 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()])