Add 2020 - Day 5
This commit is contained in:
parent
8863a73be0
commit
0b01b39987
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()])
|
Loading…
x
Reference in New Issue
Block a user