From a2670664e32b47f8dd4083887cd59a30058ccc08 Mon Sep 17 00:00:00 2001 From: Karl Spickermann Date: Fri, 9 Dec 2022 21:37:26 +0100 Subject: [PATCH] Day9 --- day8/day8.go | 5 +- day9/day9.go | 125 +++ day9/input | 2000 ++++++++++++++++++++++++++++++++++++++++++++++ day9/inputGattix | 2000 ++++++++++++++++++++++++++++++++++++++++++++++ day9/testinput | 8 + day9/testinput2 | 8 + helper/helper.go | 9 + 7 files changed, 4153 insertions(+), 2 deletions(-) create mode 100644 day9/day9.go create mode 100644 day9/input create mode 100644 day9/inputGattix create mode 100644 day9/testinput create mode 100644 day9/testinput2 diff --git a/day8/day8.go b/day8/day8.go index 5d7753a..597e679 100644 --- a/day8/day8.go +++ b/day8/day8.go @@ -3,6 +3,7 @@ package main import ( "AOC2022/helper" "fmt" + "os" ) type Tree struct { @@ -11,8 +12,8 @@ type Tree struct { } func main() { - //args := os.Args[1:] - lines := helper.ReadTextFile("day8/input") + args := os.Args[1:] + lines := helper.ReadTextFile(args[0]) forest := make([][]Tree, len(lines)) for i, line := range lines { forest[i] = make([]Tree, len(line)) diff --git a/day9/day9.go b/day9/day9.go new file mode 100644 index 0000000..12bc4b1 --- /dev/null +++ b/day9/day9.go @@ -0,0 +1,125 @@ +package main + +import ( + "AOC2022/helper" + "fmt" + "math" + "os" + "strconv" + "strings" +) + +type Simulation struct { + headPos [2]int + tailPos [][2]int + tailPast map[[2]int]bool +} + +func main() { + args := os.Args[1:] + lines := helper.ReadTextFile(args[0]) + tails := [][2]int{{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + simulation := Simulation{[2]int{0, 0}, tails, make(map[[2]int]bool)} + for _, line := range lines { + direction, distance := getDirectionAndDistance(line) + for i := 0; i < distance; i++ { + move(&simulation.headPos, direction) + for i, _ := range tails { + simulation.moveTail(i) + } + } + } + + fmt.Println(len(simulation.tailPast)) +} + +func getDirectionAndDistance(line string) ([2]int, int) { + splitLine := strings.Split(line, " ") + distance := helper.RemoveError(strconv.Atoi(splitLine[1])) + switch splitLine[0] { + case "U": + return [2]int{0, 1}, distance + case "D": + return [2]int{0, -1}, distance + case "R": + return [2]int{1, 0}, distance + case "L": + return [2]int{-1, 0}, distance + default: + return [2]int{0, 0}, distance + } +} + +func (simulation *Simulation) moveTail(i int) { + activeTail := &simulation.tailPos[i] + if len(simulation.tailPos)-1 == i { + simulation.tailPast[*activeTail] = true + } + var nextKnot [2]int + if i == 0 { + nextKnot = simulation.headPos + } else { + nextKnot = simulation.tailPos[i-1] + } + direction := getDirectionFromTo(nextKnot[:], activeTail[:]) + if getLength(direction[:]) < 2 { + return + } + if direction[0] > 0 { + activeTail[0]++ + } + if direction[0] < 0 { + activeTail[0]-- + } + if direction[1] > 0 { + activeTail[1]++ + } + if direction[1] < 0 { + activeTail[1]-- + } + if len(simulation.tailPos)-1 == i { + simulation.tailPast[*activeTail] = true + } +} + +func move(object *[2]int, direction [2]int) { + object[0] += direction[0] + object[1] += direction[1] +} + +func getDirectionFromTo(X, Y []int) []int { + direction := []int{} + for i, _ := range X { + direction = append(direction, X[i]-Y[i]) + } + return direction +} + +func getLength(X []int) float64 { + temp := float64(0) + for i, _ := range X { + temp += math.Pow(float64(X[i]), 2) + } + return math.Sqrt(temp) +} + +func (simulation *Simulation) print(size int) { + for i := 0; i < size; i++ { + tempArr := "" + for j := 0; j < size; j++ { + pos := [2]int{j, size - 1 - i} + if [2]int{0, 0} == pos { + tempArr += "S" + } else if simulation.tailPast[pos] { + tempArr += "#" + } else if simulation.headPos == pos { + tempArr += "H" + } else if helper.Contains(simulation.tailPos, pos) { + tempArr += "T" + } else { + tempArr += "." + } + } + fmt.Println(tempArr) + } +} diff --git a/day9/input b/day9/input new file mode 100644 index 0000000..a485046 --- /dev/null +++ b/day9/input @@ -0,0 +1,2000 @@ +U 1 +R 1 +L 1 +D 1 +R 1 +L 1 +D 1 +L 2 +D 1 +R 1 +D 2 +L 1 +R 1 +D 2 +U 2 +L 1 +R 1 +U 1 +D 1 +R 1 +L 2 +R 2 +L 1 +R 2 +D 1 +U 1 +R 1 +L 2 +R 2 +D 2 +U 1 +L 2 +D 2 +U 2 +L 2 +U 1 +R 1 +L 1 +D 2 +L 1 +U 2 +L 1 +D 1 +U 2 +R 2 +U 1 +D 2 +U 2 +D 1 +L 2 +R 1 +D 1 +R 1 +D 2 +L 1 +U 2 +D 1 +L 2 +U 1 +D 1 +L 2 +R 2 +D 2 +L 2 +U 1 +D 1 +L 2 +U 2 +L 2 +U 2 +R 1 +L 1 +R 2 +D 2 +R 1 +L 2 +R 1 +D 1 +R 1 +U 2 +D 2 +L 1 +U 2 +D 2 +L 2 +U 1 +R 1 +D 1 +U 1 +R 1 +L 2 +U 2 +L 1 +R 2 +L 2 +D 2 +U 1 +D 2 +U 1 +L 1 +U 2 +D 2 +R 1 +D 1 +L 2 +R 2 +D 1 +L 1 +R 1 +U 1 +L 2 +R 2 +U 1 +R 3 +D 2 +U 2 +L 3 +R 3 +D 3 +U 3 +R 1 +D 2 +R 1 +D 1 +L 2 +R 3 +D 3 +U 3 +D 3 +R 1 +U 2 +D 3 +L 3 +R 2 +L 2 +D 3 +U 2 +D 1 +R 3 +D 1 +U 1 +L 2 +D 1 +U 1 +L 1 +D 1 +R 3 +D 2 +L 1 +R 1 +L 2 +U 3 +L 1 +U 1 +L 3 +R 3 +L 3 +R 2 +D 2 +R 1 +U 2 +R 1 +D 3 +U 3 +L 1 +U 2 +D 3 +R 2 +D 1 +U 1 +D 1 +R 3 +U 1 +R 2 +L 1 +D 1 +U 1 +R 2 +L 1 +U 3 +L 1 +R 1 +U 3 +L 3 +D 2 +R 2 +D 1 +L 3 +R 3 +D 1 +L 2 +U 3 +D 1 +U 1 +R 1 +L 1 +U 2 +D 2 +R 3 +U 3 +R 1 +U 2 +D 2 +R 2 +D 2 +R 1 +L 2 +D 1 +U 2 +L 3 +U 2 +D 3 +L 2 +R 1 +D 1 +L 1 +U 2 +D 1 +L 3 +R 2 +D 2 +R 3 +L 3 +D 3 +U 1 +R 1 +L 3 +R 2 +L 1 +U 2 +L 4 +D 1 +L 4 +D 3 +L 3 +D 2 +U 3 +L 3 +D 4 +U 4 +D 4 +L 3 +D 1 +R 4 +D 4 +R 2 +L 3 +D 4 +R 3 +D 3 +R 3 +L 4 +U 3 +R 1 +D 4 +U 2 +R 3 +U 2 +L 4 +R 3 +L 2 +R 4 +L 2 +R 4 +U 2 +R 4 +U 3 +L 3 +D 4 +R 3 +U 4 +R 3 +D 4 +U 2 +D 4 +U 1 +R 1 +U 3 +D 4 +U 2 +D 3 +L 2 +U 4 +L 1 +U 1 +L 1 +U 3 +R 2 +U 1 +R 3 +D 1 +U 2 +R 1 +U 4 +D 3 +L 4 +U 4 +R 1 +D 2 +L 4 +R 3 +U 2 +L 1 +U 1 +L 2 +U 4 +D 1 +L 3 +R 3 +L 3 +R 4 +L 2 +R 4 +U 2 +D 3 +R 4 +L 3 +R 1 +L 3 +D 4 +L 1 +R 4 +U 3 +R 3 +L 4 +D 3 +R 4 +L 4 +R 2 +L 4 +D 4 +R 4 +D 4 +R 4 +L 3 +D 1 +U 4 +R 5 +L 3 +R 3 +L 1 +R 3 +D 3 +U 5 +R 2 +U 4 +D 1 +R 3 +D 1 +R 3 +U 5 +D 5 +U 5 +L 2 +D 1 +U 3 +L 5 +R 1 +D 5 +L 3 +U 5 +L 3 +R 5 +L 1 +U 3 +D 1 +L 5 +R 2 +U 5 +L 1 +D 1 +U 1 +D 5 +L 2 +U 4 +R 2 +D 1 +U 3 +L 3 +D 1 +R 4 +D 3 +U 2 +D 3 +R 5 +U 5 +D 1 +L 3 +U 2 +R 2 +D 3 +U 5 +R 1 +L 4 +D 3 +R 3 +D 4 +L 3 +D 5 +R 5 +D 3 +R 1 +U 3 +R 1 +L 3 +D 3 +L 3 +D 1 +R 1 +U 4 +D 4 +R 2 +D 4 +L 4 +U 5 +L 2 +R 5 +D 5 +R 1 +D 1 +R 1 +L 1 +R 4 +U 4 +L 2 +R 2 +L 5 +D 3 +R 5 +L 5 +D 2 +R 1 +D 2 +R 2 +L 1 +U 1 +R 5 +U 4 +D 2 +U 3 +D 3 +R 4 +L 2 +D 5 +U 5 +L 5 +R 4 +D 1 +U 3 +R 3 +L 6 +U 6 +R 6 +L 2 +D 2 +U 3 +R 4 +D 2 +L 1 +R 1 +L 1 +R 1 +L 4 +U 2 +D 2 +U 4 +R 1 +L 3 +U 1 +L 3 +U 1 +L 3 +D 6 +U 5 +D 2 +L 3 +D 4 +L 3 +U 5 +D 4 +R 3 +L 2 +U 6 +L 3 +D 5 +L 3 +R 2 +D 3 +R 1 +U 4 +D 2 +U 3 +R 5 +D 1 +R 1 +U 5 +L 3 +U 6 +R 1 +U 1 +R 2 +L 3 +D 5 +R 1 +U 5 +L 4 +D 4 +R 5 +L 6 +R 4 +U 3 +R 5 +U 2 +D 4 +R 1 +U 1 +L 6 +D 3 +L 5 +U 4 +R 1 +D 5 +U 3 +D 3 +R 6 +L 3 +D 4 +U 6 +L 3 +D 3 +L 2 +U 1 +R 3 +D 1 +L 3 +U 3 +R 2 +D 2 +L 1 +R 4 +D 6 +U 6 +R 4 +D 6 +R 5 +D 2 +U 1 +L 5 +D 6 +L 2 +U 3 +D 2 +R 4 +L 6 +U 6 +L 3 +D 4 +L 2 +U 3 +R 6 +D 5 +R 7 +L 3 +D 4 +R 5 +U 5 +L 2 +D 6 +R 1 +D 1 +L 6 +D 4 +U 2 +D 4 +R 7 +L 1 +U 4 +R 4 +D 4 +U 5 +D 2 +L 2 +R 6 +U 6 +R 4 +L 6 +U 1 +R 7 +U 3 +L 1 +R 2 +L 4 +D 2 +U 6 +R 1 +U 2 +L 6 +U 6 +L 6 +U 7 +L 3 +D 7 +L 7 +D 6 +U 2 +R 6 +L 7 +R 4 +D 4 +R 2 +U 1 +D 7 +U 6 +L 2 +D 7 +U 2 +R 7 +U 6 +D 3 +L 5 +U 2 +D 4 +R 4 +U 1 +D 2 +L 1 +R 2 +U 6 +R 2 +U 2 +D 2 +L 1 +U 7 +R 6 +L 1 +R 2 +D 1 +R 2 +L 5 +U 7 +R 7 +U 3 +D 1 +R 6 +L 6 +U 1 +D 4 +R 4 +L 1 +R 4 +U 6 +D 7 +L 2 +R 6 +L 1 +D 2 +R 2 +L 4 +D 3 +U 4 +L 5 +R 1 +L 3 +U 2 +D 1 +U 3 +R 7 +D 2 +U 2 +L 7 +R 7 +D 2 +R 4 +L 8 +R 2 +L 5 +D 6 +L 8 +R 3 +D 3 +R 1 +D 6 +U 5 +R 5 +U 8 +R 7 +U 2 +L 2 +R 5 +L 1 +U 6 +D 7 +R 7 +U 5 +R 7 +L 4 +R 4 +U 8 +L 3 +U 2 +D 2 +U 1 +R 1 +U 7 +D 3 +R 2 +D 5 +U 7 +L 8 +R 4 +L 5 +D 1 +U 7 +D 3 +R 7 +U 1 +R 6 +U 4 +L 8 +R 8 +U 5 +L 5 +U 3 +L 7 +D 5 +U 5 +R 8 +U 1 +D 1 +U 1 +R 7 +D 2 +U 2 +D 5 +L 4 +D 4 +U 5 +L 2 +R 5 +U 7 +R 6 +U 5 +L 1 +D 2 +U 8 +L 7 +D 2 +R 2 +D 6 +U 1 +D 3 +L 2 +D 7 +R 3 +D 2 +U 6 +D 6 +U 7 +L 2 +R 8 +U 2 +D 4 +L 3 +R 3 +D 7 +L 5 +U 7 +R 2 +L 8 +R 8 +L 1 +D 6 +L 2 +U 6 +L 8 +D 5 +R 8 +U 1 +R 4 +D 1 +L 7 +U 2 +D 9 +L 5 +U 2 +D 8 +L 6 +D 9 +U 9 +R 1 +D 8 +L 8 +D 9 +U 3 +R 4 +U 6 +D 9 +L 3 +R 1 +U 5 +L 5 +D 5 +L 8 +D 1 +U 9 +L 4 +D 3 +L 9 +R 5 +L 9 +D 5 +L 2 +U 7 +R 6 +D 4 +U 8 +L 7 +D 7 +U 5 +L 9 +R 3 +L 9 +U 4 +L 4 +R 7 +L 5 +R 2 +D 1 +U 2 +R 3 +L 5 +R 9 +L 3 +D 9 +L 9 +U 5 +D 3 +U 6 +D 3 +L 3 +U 5 +D 1 +R 1 +L 8 +R 1 +D 6 +R 2 +U 6 +L 6 +R 3 +D 2 +R 4 +U 6 +R 8 +U 4 +D 8 +R 1 +U 8 +D 4 +L 9 +U 8 +L 2 +U 1 +R 2 +D 7 +R 1 +D 9 +R 3 +L 6 +U 6 +L 2 +R 7 +U 5 +R 8 +L 3 +D 5 +R 3 +U 9 +D 5 +R 5 +U 1 +L 6 +D 2 +R 2 +D 3 +L 2 +U 2 +L 5 +U 9 +L 8 +D 2 +U 7 +R 6 +U 3 +L 8 +U 5 +D 4 +U 4 +R 2 +D 1 +L 7 +U 4 +R 1 +L 3 +D 7 +R 5 +D 8 +R 4 +U 3 +L 3 +D 3 +U 5 +L 3 +D 1 +R 10 +D 4 +U 6 +D 4 +R 7 +U 5 +L 2 +R 5 +D 8 +R 3 +U 6 +R 5 +L 9 +R 7 +D 6 +U 10 +R 10 +D 5 +R 9 +U 4 +R 6 +L 8 +U 5 +L 9 +R 8 +D 2 +U 5 +D 4 +R 3 +D 10 +U 9 +L 5 +U 5 +L 10 +D 7 +U 4 +D 10 +U 1 +D 8 +L 6 +D 9 +R 5 +U 2 +R 3 +U 1 +D 8 +R 3 +U 4 +D 6 +U 10 +D 4 +U 3 +D 5 +R 1 +L 8 +R 9 +D 2 +U 8 +L 1 +R 8 +U 5 +R 9 +U 9 +R 7 +D 5 +L 5 +D 8 +L 7 +U 1 +L 4 +D 2 +R 3 +D 1 +U 2 +L 1 +D 1 +U 6 +R 5 +U 5 +R 6 +L 1 +U 5 +R 5 +U 8 +L 9 +D 2 +R 10 +U 2 +R 6 +U 8 +R 2 +L 11 +U 3 +D 4 +R 6 +L 8 +R 10 +U 10 +R 6 +L 4 +R 11 +U 11 +R 3 +U 11 +L 7 +R 4 +L 7 +U 5 +D 2 +U 8 +R 9 +D 9 +R 1 +U 9 +D 6 +U 3 +D 10 +L 7 +D 8 +R 9 +U 9 +D 7 +L 11 +D 8 +R 8 +U 11 +L 11 +U 4 +D 6 +R 1 +D 8 +R 2 +U 1 +L 11 +R 10 +L 6 +U 8 +L 10 +U 5 +L 11 +U 6 +L 5 +U 10 +R 5 +U 11 +R 6 +D 4 +U 7 +L 11 +D 3 +U 8 +R 8 +L 2 +D 10 +L 5 +D 10 +R 4 +U 3 +L 7 +U 10 +D 4 +U 10 +R 2 +U 1 +D 6 +L 6 +U 7 +D 4 +R 6 +D 11 +L 1 +U 5 +L 1 +D 9 +R 11 +L 8 +D 3 +U 7 +R 9 +D 1 +U 3 +R 1 +L 8 +D 6 +U 9 +D 9 +L 10 +U 8 +D 5 +L 1 +U 2 +D 3 +L 11 +R 3 +L 7 +D 1 +U 8 +D 5 +L 8 +R 7 +L 8 +D 4 +R 7 +D 11 +R 3 +L 1 +R 6 +U 3 +R 11 +L 5 +R 4 +L 1 +D 6 +R 7 +U 2 +L 2 +R 11 +L 1 +D 4 +L 5 +U 3 +R 9 +U 4 +D 10 +U 3 +R 10 +L 4 +R 7 +D 9 +U 11 +D 10 +R 5 +U 6 +L 3 +R 5 +D 1 +R 3 +L 10 +D 4 +U 8 +R 9 +U 5 +R 6 +U 3 +D 2 +R 6 +U 3 +L 3 +R 8 +L 9 +D 6 +U 7 +D 11 +U 12 +R 7 +D 7 +U 12 +L 6 +U 6 +D 3 +L 11 +R 8 +U 10 +L 7 +R 2 +U 8 +L 3 +R 12 +D 4 +L 4 +U 10 +L 9 +R 8 +L 12 +D 3 +R 4 +L 9 +U 4 +L 6 +D 11 +U 3 +R 7 +U 3 +D 3 +U 4 +L 12 +R 11 +U 5 +D 3 +R 7 +U 1 +D 11 +R 7 +L 3 +R 6 +U 10 +L 11 +U 2 +L 11 +U 11 +R 8 +D 12 +U 4 +L 1 +D 3 +R 6 +L 2 +U 4 +D 3 +R 8 +L 2 +D 9 +L 9 +U 8 +R 12 +D 7 +U 13 +R 7 +L 10 +U 6 +L 11 +D 6 +U 13 +R 4 +U 8 +D 7 +U 7 +R 5 +U 2 +R 2 +D 2 +L 6 +D 12 +U 2 +R 4 +U 7 +D 7 +L 13 +R 7 +U 12 +L 11 +U 1 +L 1 +D 7 +U 1 +D 4 +U 10 +D 10 +R 4 +L 13 +R 2 +U 7 +D 5 +R 2 +D 5 +L 13 +R 2 +U 3 +R 9 +U 12 +L 9 +U 9 +R 1 +L 9 +D 9 +R 8 +U 8 +D 8 +U 8 +R 5 +D 7 +R 12 +L 11 +U 1 +D 7 +L 8 +D 3 +R 4 +L 1 +U 2 +R 10 +U 6 +R 8 +U 13 +L 3 +D 1 +R 9 +L 5 +U 5 +L 11 +R 1 +D 8 +U 6 +R 13 +U 4 +L 3 +U 6 +D 12 +R 5 +D 7 +L 4 +D 8 +L 13 +R 13 +U 4 +D 12 +L 1 +U 9 +L 8 +U 11 +R 7 +D 2 +L 11 +U 11 +L 13 +D 6 +R 10 +D 9 +U 8 +R 3 +U 10 +L 8 +U 13 +D 10 +R 2 +D 7 +R 11 +L 10 +D 3 +U 1 +D 13 +L 4 +D 14 +L 14 +U 6 +L 10 +D 7 +L 13 +U 7 +R 14 +D 2 +U 1 +L 12 +R 11 +D 7 +L 9 +D 5 +L 6 +U 11 +D 7 +L 10 +U 11 +L 2 +R 8 +L 2 +U 10 +D 3 +R 14 +D 2 +R 1 +D 2 +U 13 +D 2 +L 5 +D 3 +U 11 +D 8 +R 11 +L 5 +R 10 +U 4 +R 3 +L 9 +U 2 +R 3 +L 5 +U 10 +L 6 +D 8 +R 13 +U 10 +L 13 +U 5 +L 9 +R 14 +U 2 +D 8 +L 3 +R 13 +U 3 +D 12 +R 7 +U 13 +L 2 +U 4 +D 2 +L 13 +U 2 +L 8 +D 10 +U 13 +L 4 +U 1 +D 3 +U 1 +R 8 +L 4 +U 10 +R 2 +U 8 +D 9 +R 10 +D 8 +U 12 +R 11 +L 11 +R 14 +U 5 +R 10 +D 1 +U 6 +D 4 +R 5 +U 11 +D 14 +U 6 +R 7 +D 6 +R 13 +D 7 +R 14 +D 15 +R 6 +D 13 +L 7 +U 9 +L 1 +R 12 +U 8 +L 14 +D 4 +R 8 +L 13 +D 3 +U 9 +D 13 +L 5 +R 9 +U 12 +D 8 +U 11 +L 8 +R 13 +D 6 +R 8 +D 13 +R 4 +D 6 +L 4 +D 13 +U 2 +D 3 +R 1 +L 15 +D 11 +L 8 +D 8 +L 7 +R 1 +D 12 +R 7 +D 2 +U 3 +L 9 +D 1 +R 8 +L 2 +D 9 +L 2 +U 2 +R 4 +L 11 +U 6 +D 11 +L 2 +U 7 +D 7 +U 11 +R 9 +U 4 +R 14 +L 9 +D 5 +R 5 +D 4 +R 1 +D 15 +U 5 +R 8 +U 10 +R 1 +L 1 +U 11 +L 11 +U 15 +R 5 +D 5 +U 3 +L 5 +U 5 +L 5 +D 15 +U 7 +D 13 +R 3 +L 9 +U 12 +L 3 +U 13 +R 1 +U 2 +R 4 +D 9 +L 6 +R 8 +D 13 +L 14 +R 9 +D 10 +L 15 +U 14 +R 14 +U 4 +R 13 +D 12 +L 5 +D 5 +L 13 +U 15 +D 13 +L 12 +U 6 +D 10 +U 10 +L 2 +R 9 +D 5 +U 5 +D 16 +R 12 +D 2 +R 15 +L 1 +D 9 +L 14 +R 9 +L 10 +R 6 +D 16 +L 9 +U 4 +D 1 +U 7 +R 12 +D 2 +R 1 +D 5 +R 15 +L 16 +U 14 +D 16 +L 6 +U 11 +L 16 +R 8 +L 2 +U 16 +R 1 +U 8 +R 16 +D 10 +L 2 +D 14 +U 4 +L 12 +D 9 +R 4 +D 13 +R 1 +U 3 +R 7 +L 3 +U 12 +R 15 +D 16 +R 13 +L 1 +D 16 +U 14 +R 5 +L 7 +R 12 +U 3 +L 14 +R 6 +U 11 +R 14 +L 12 +U 11 +R 6 +L 1 +D 1 +U 5 +D 14 +L 10 +R 1 +U 4 +R 11 +U 16 +D 12 +R 7 +U 2 +R 1 +D 15 +U 16 +D 7 +L 2 +D 3 +R 1 +D 6 +U 16 +D 12 +U 14 +R 13 +U 13 +L 14 +D 5 +U 1 +L 8 +R 7 +L 9 +D 11 +R 10 +D 16 +R 16 +U 10 +R 14 +L 1 +D 7 +U 2 +R 7 +D 15 +R 16 +U 8 +D 12 +U 17 +R 12 +U 7 +R 6 +L 7 +D 8 +R 4 +U 4 +D 14 +U 17 +D 11 +U 3 +R 1 +D 15 +R 11 +D 13 +L 13 +R 9 +L 1 +U 3 +R 12 +L 9 +U 3 +L 17 +D 15 +R 6 +U 9 +R 16 +L 11 +U 3 +L 5 +D 9 +R 6 +U 12 +R 2 +U 4 +L 11 +U 2 +R 11 +D 4 +L 16 +U 2 +R 10 +U 16 +L 12 +D 9 +U 6 +D 16 +L 6 +R 9 +U 14 +D 14 +U 4 +D 14 +R 16 +L 9 +D 14 +R 4 +U 9 +D 11 +R 8 +D 9 +U 1 +D 3 +R 15 +D 10 +R 13 +D 6 +U 2 +R 8 +U 7 +L 2 +R 10 +D 7 +U 10 +R 3 +L 9 +R 1 +D 2 +U 6 +L 17 +U 16 +L 6 +U 16 +L 1 +R 11 +D 16 +R 2 +L 4 +R 6 +L 9 +R 2 +D 11 +U 8 +D 3 +L 15 +D 17 +U 5 +L 3 +D 15 +L 3 +U 12 +R 15 +U 9 +L 11 +D 3 +R 3 +U 12 +R 11 +D 13 +R 7 +U 11 +L 15 +D 5 +L 15 +D 13 +U 10 +R 17 +D 7 +L 16 +R 2 +L 9 +R 13 +L 4 +R 6 +D 9 +L 17 +D 12 +R 14 +U 3 +D 2 +R 6 +U 14 +D 15 +U 7 +L 17 +U 14 +L 8 +U 15 +R 13 +U 3 +R 10 +D 11 +L 14 +U 18 +R 13 +U 13 +R 2 +D 3 +R 5 +U 16 +R 16 +D 13 +U 3 +R 14 +D 17 +U 4 +L 18 +U 8 +R 6 +U 12 +R 17 +L 18 +U 17 +R 18 +D 10 +U 17 +D 2 +R 2 +D 9 +U 13 +R 15 +L 13 +R 8 +D 6 +U 4 +R 12 +U 15 +D 8 +L 16 +D 6 +L 15 +U 8 +L 10 +D 18 +R 8 +U 2 +D 17 +U 8 +R 18 +D 6 +U 7 +L 15 +U 16 +R 16 +D 11 +U 7 +D 12 +R 7 +U 5 +L 16 +D 7 +L 14 +U 1 +L 11 +D 1 +U 17 +R 1 +U 18 +R 1 +U 11 +D 18 +U 16 +R 14 +U 12 +L 5 +D 5 +L 7 +U 10 +R 2 +D 4 +L 10 +R 9 +D 2 +L 17 +R 15 +L 6 +R 2 +D 6 +L 9 +R 10 +L 4 +D 2 +R 12 +D 1 +R 16 +U 15 +D 15 +L 10 +D 16 +L 16 +U 18 +L 5 +R 8 +L 16 +R 10 +D 7 +U 2 +D 8 +U 11 +R 1 +U 1 +L 14 +D 11 +R 8 +U 18 +L 4 +R 14 +L 7 +U 6 +L 17 +U 10 +L 4 +U 6 +L 6 +R 8 +L 15 +D 2 +R 5 +L 13 +D 1 +R 6 +L 11 +U 15 +L 16 +D 13 +R 11 +U 4 +R 1 +L 10 +U 16 +L 2 +R 11 +L 5 +D 19 +R 15 +L 5 +U 17 +R 19 +D 2 +R 9 +U 11 +L 19 +U 16 +D 16 +R 5 +D 13 +U 18 +D 3 +R 15 +U 12 +L 1 +D 11 +U 2 +R 13 +D 1 +R 2 +D 7 +R 2 +U 17 +R 8 +L 2 +U 2 +R 12 +L 2 +R 1 +D 5 +U 7 +L 5 +U 10 +L 14 +R 15 +D 19 +L 13 +U 4 +L 8 +U 8 +L 7 +D 5 +R 17 +U 8 \ No newline at end of file diff --git a/day9/inputGattix b/day9/inputGattix new file mode 100644 index 0000000..1ffd083 --- /dev/null +++ b/day9/inputGattix @@ -0,0 +1,2000 @@ +L 2 +D 2 +R 2 +U 1 +L 1 +U 1 +R 1 +U 2 +R 2 +U 2 +L 2 +R 2 +U 2 +L 2 +U 1 +R 1 +U 1 +R 2 +U 1 +D 2 +U 2 +L 2 +R 1 +U 2 +R 2 +U 2 +L 1 +D 1 +L 1 +R 2 +L 2 +D 1 +L 1 +R 2 +U 2 +L 1 +U 1 +L 2 +R 1 +L 1 +D 2 +U 2 +L 2 +D 1 +R 2 +D 1 +U 2 +D 2 +L 2 +D 1 +L 1 +R 1 +D 2 +U 2 +L 2 +U 1 +L 1 +U 2 +R 2 +D 1 +U 2 +R 2 +U 1 +L 2 +R 2 +D 2 +U 2 +D 2 +L 2 +D 1 +U 2 +L 1 +R 1 +L 1 +D 2 +U 1 +D 1 +L 2 +D 1 +L 1 +R 1 +U 1 +L 2 +R 2 +U 2 +D 2 +L 1 +R 2 +D 1 +R 2 +D 2 +L 1 +U 2 +R 1 +D 2 +L 1 +D 2 +U 2 +D 1 +U 2 +R 1 +D 1 +L 1 +D 2 +R 2 +U 1 +R 1 +D 2 +L 2 +R 2 +D 1 +R 3 +U 1 +D 1 +U 1 +R 2 +U 2 +R 3 +U 3 +L 3 +D 2 +L 3 +D 1 +L 3 +D 3 +R 3 +D 3 +R 3 +L 2 +D 3 +R 1 +L 3 +U 1 +L 1 +U 1 +L 2 +R 3 +D 2 +U 3 +R 3 +D 2 +L 3 +R 3 +D 1 +L 3 +U 1 +D 1 +L 1 +D 2 +L 2 +U 1 +L 1 +R 1 +U 3 +R 2 +L 3 +U 2 +R 2 +U 1 +D 3 +U 1 +L 1 +U 2 +R 1 +D 3 +R 3 +U 3 +D 2 +U 1 +L 1 +D 3 +L 2 +U 3 +D 1 +R 1 +D 1 +R 3 +U 2 +L 1 +U 3 +R 1 +U 2 +L 3 +R 2 +L 1 +R 1 +U 2 +L 1 +D 2 +L 3 +D 3 +R 3 +D 1 +U 3 +D 1 +R 3 +U 2 +L 2 +D 1 +U 1 +R 3 +L 2 +D 2 +L 2 +D 2 +R 1 +D 3 +L 1 +R 2 +L 2 +R 3 +L 1 +U 1 +D 2 +R 2 +U 3 +R 1 +L 2 +R 3 +U 1 +L 3 +D 3 +L 1 +D 1 +U 4 +R 2 +L 1 +D 3 +U 1 +D 3 +R 2 +L 2 +D 2 +L 3 +U 4 +D 4 +L 4 +U 1 +D 2 +L 3 +R 1 +L 1 +U 2 +D 1 +U 3 +L 2 +R 2 +D 2 +L 2 +R 4 +D 1 +L 2 +R 4 +U 4 +L 3 +R 3 +D 1 +L 3 +U 3 +L 1 +U 3 +L 1 +D 4 +U 1 +R 3 +L 2 +R 3 +D 2 +L 4 +U 1 +D 4 +L 2 +U 2 +D 3 +L 2 +U 3 +R 1 +U 1 +R 2 +U 3 +L 1 +R 4 +D 2 +R 1 +D 1 +L 4 +R 3 +U 1 +D 2 +L 3 +R 4 +L 1 +U 1 +D 2 +U 1 +D 3 +R 3 +L 3 +U 1 +L 3 +R 3 +D 2 +U 2 +L 2 +R 1 +L 3 +U 3 +R 4 +D 1 +U 4 +D 1 +R 2 +D 4 +L 2 +R 1 +L 2 +R 1 +D 3 +U 3 +R 1 +U 1 +R 1 +D 2 +R 4 +D 4 +L 3 +D 4 +R 1 +D 1 +U 1 +L 1 +R 1 +D 4 +L 1 +R 1 +U 4 +R 5 +D 4 +R 5 +U 1 +D 1 +R 1 +U 4 +L 3 +D 5 +U 3 +L 2 +D 3 +R 5 +U 1 +D 1 +R 2 +L 1 +R 3 +D 4 +R 5 +L 1 +U 3 +D 3 +R 1 +D 4 +R 1 +L 4 +R 3 +U 1 +D 1 +U 5 +R 2 +L 3 +U 1 +L 4 +D 1 +R 3 +L 4 +D 2 +R 3 +L 5 +D 2 +L 3 +D 2 +L 2 +R 4 +D 1 +R 3 +L 5 +U 2 +L 4 +D 3 +L 2 +R 4 +D 5 +L 5 +R 4 +U 5 +D 2 +U 4 +D 4 +L 3 +U 3 +L 3 +D 1 +R 4 +D 4 +U 3 +R 4 +L 3 +D 2 +L 4 +D 2 +L 4 +R 3 +L 5 +R 2 +L 3 +R 3 +U 4 +D 4 +L 4 +R 2 +D 4 +U 3 +L 3 +U 1 +D 2 +U 5 +L 2 +D 3 +U 1 +R 5 +D 2 +L 3 +U 1 +D 2 +L 2 +U 2 +R 5 +L 4 +R 4 +L 2 +D 3 +R 1 +U 5 +R 2 +L 5 +U 3 +L 3 +R 6 +D 2 +L 2 +R 2 +U 1 +D 6 +U 6 +D 1 +L 3 +R 6 +U 6 +R 3 +D 6 +R 5 +U 5 +D 1 +R 4 +L 2 +U 2 +R 4 +D 6 +U 4 +R 4 +D 6 +R 2 +U 1 +D 5 +U 3 +R 1 +L 2 +R 1 +U 6 +R 1 +L 1 +U 4 +R 1 +D 6 +U 2 +D 5 +R 2 +D 6 +R 3 +L 3 +U 1 +R 3 +L 4 +D 6 +L 3 +U 3 +D 1 +U 4 +R 6 +L 3 +D 2 +U 6 +R 2 +D 4 +R 3 +D 5 +U 2 +L 1 +D 4 +R 1 +L 3 +R 5 +U 4 +D 1 +L 3 +U 4 +R 2 +D 6 +R 4 +D 5 +R 5 +D 3 +R 6 +L 4 +U 2 +L 4 +U 2 +L 5 +D 2 +R 3 +D 2 +R 6 +U 4 +R 5 +U 1 +R 6 +D 4 +L 2 +D 2 +U 2 +L 5 +R 1 +U 2 +R 3 +U 5 +L 3 +D 1 +L 1 +R 1 +L 3 +U 1 +L 4 +R 3 +L 6 +U 4 +L 2 +D 2 +U 7 +R 7 +U 4 +R 5 +D 4 +L 7 +U 5 +L 5 +U 1 +D 5 +L 3 +R 4 +D 3 +R 5 +L 3 +D 3 +L 4 +U 5 +L 4 +R 2 +L 5 +U 4 +L 4 +D 4 +U 5 +L 3 +U 7 +R 2 +L 1 +U 2 +L 7 +U 5 +R 4 +D 5 +R 1 +L 3 +D 6 +R 7 +L 1 +R 5 +D 4 +U 4 +L 7 +D 6 +U 7 +R 4 +U 2 +R 2 +U 2 +R 7 +D 6 +R 4 +L 1 +R 4 +D 3 +U 5 +R 3 +L 5 +R 2 +L 3 +D 2 +R 1 +D 3 +L 7 +D 4 +L 7 +U 7 +D 5 +R 6 +U 7 +R 5 +D 6 +R 5 +L 4 +U 1 +D 2 +L 4 +D 5 +L 5 +D 2 +L 7 +R 2 +U 7 +L 6 +D 3 +U 3 +D 6 +U 1 +R 3 +L 1 +U 7 +R 2 +D 2 +U 3 +L 6 +D 5 +U 5 +D 2 +R 6 +D 3 +L 3 +R 2 +L 6 +D 1 +L 2 +D 1 +L 7 +U 1 +D 2 +U 3 +L 5 +D 7 +R 2 +L 8 +U 7 +L 4 +U 4 +D 1 +U 4 +D 3 +R 8 +U 3 +L 4 +R 1 +L 5 +R 1 +L 1 +D 8 +R 5 +L 2 +U 1 +L 8 +U 8 +D 1 +R 3 +U 1 +R 1 +U 5 +R 4 +L 4 +U 7 +D 1 +U 8 +L 4 +D 7 +U 8 +L 5 +D 2 +R 4 +L 3 +R 2 +L 2 +D 1 +U 4 +D 2 +L 8 +U 1 +R 6 +D 5 +R 7 +D 2 +U 4 +L 4 +R 3 +U 2 +D 8 +R 3 +L 3 +U 2 +R 1 +D 5 +U 2 +R 5 +D 8 +R 7 +U 2 +L 6 +U 2 +D 1 +L 4 +U 1 +D 7 +U 4 +L 3 +U 5 +R 5 +D 4 +R 7 +U 4 +L 6 +R 4 +U 5 +D 7 +U 5 +D 3 +L 5 +U 1 +L 8 +D 8 +R 3 +L 6 +R 6 +U 1 +R 8 +L 8 +U 6 +R 2 +L 6 +U 2 +L 4 +D 1 +L 1 +U 5 +D 3 +R 6 +D 6 +L 7 +D 7 +L 1 +R 7 +U 4 +L 7 +U 6 +R 1 +L 8 +D 6 +L 5 +U 2 +D 7 +R 8 +D 1 +L 6 +R 1 +L 8 +D 3 +R 8 +L 8 +U 7 +R 3 +U 6 +L 2 +R 9 +L 3 +R 9 +D 1 +L 2 +R 7 +L 8 +U 1 +D 9 +U 7 +L 9 +R 1 +L 8 +D 7 +R 4 +L 9 +U 1 +L 2 +D 7 +R 7 +D 5 +L 4 +D 7 +U 9 +R 9 +D 4 +R 6 +D 5 +L 1 +R 8 +U 8 +L 6 +R 4 +L 3 +U 4 +D 7 +R 8 +D 8 +R 2 +L 4 +R 4 +U 1 +L 8 +U 5 +L 9 +U 4 +R 9 +L 1 +R 1 +D 5 +L 5 +D 8 +U 2 +L 4 +U 5 +D 4 +L 1 +D 1 +R 1 +U 9 +R 4 +D 2 +U 6 +L 5 +R 7 +D 9 +L 3 +U 2 +L 8 +U 6 +D 4 +R 1 +U 4 +R 1 +U 6 +D 8 +U 7 +R 5 +D 4 +R 2 +D 6 +U 6 +R 1 +U 3 +D 8 +U 2 +R 1 +U 8 +D 9 +U 3 +R 3 +D 6 +R 8 +D 1 +L 2 +D 2 +R 3 +D 3 +U 3 +D 2 +R 2 +L 5 +R 1 +U 9 +L 9 +D 3 +R 2 +L 10 +R 6 +L 5 +R 4 +L 6 +R 8 +D 2 +L 1 +R 2 +D 4 +L 9 +D 6 +U 2 +R 7 +U 9 +D 5 +R 2 +L 10 +D 7 +L 8 +U 3 +R 4 +U 4 +L 7 +U 10 +R 8 +L 7 +U 10 +R 9 +D 4 +R 2 +L 10 +R 9 +L 4 +D 7 +L 10 +D 5 +U 4 +R 3 +L 7 +D 3 +L 3 +R 3 +D 10 +R 2 +L 6 +D 5 +R 10 +L 7 +U 1 +D 6 +L 3 +D 4 +L 3 +D 7 +R 10 +U 6 +R 2 +U 5 +R 7 +U 3 +R 2 +U 6 +R 5 +L 9 +R 5 +D 3 +U 4 +L 5 +R 6 +U 1 +L 6 +U 7 +D 10 +R 10 +U 9 +L 10 +D 10 +R 6 +L 1 +U 8 +R 10 +U 8 +R 10 +U 1 +D 8 +U 10 +R 9 +D 8 +R 4 +D 10 +L 4 +U 9 +L 1 +D 3 +R 1 +L 3 +D 1 +L 9 +R 5 +D 7 +R 3 +L 4 +R 8 +U 6 +D 7 +U 3 +R 1 +D 8 +L 3 +R 9 +U 8 +R 11 +D 5 +L 5 +U 3 +R 6 +U 10 +R 8 +D 1 +U 3 +D 1 +R 11 +D 8 +U 11 +R 7 +U 6 +R 7 +U 6 +L 7 +D 4 +U 10 +L 4 +U 1 +L 10 +D 3 +R 3 +U 9 +L 11 +U 10 +R 6 +U 10 +R 10 +D 9 +L 10 +R 6 +L 2 +R 6 +L 1 +D 10 +U 8 +D 11 +U 2 +L 9 +U 7 +R 8 +L 10 +R 11 +D 4 +L 9 +R 3 +U 1 +L 8 +D 1 +L 9 +U 8 +D 8 +U 5 +R 6 +D 5 +R 9 +D 1 +L 11 +R 4 +D 11 +R 9 +L 11 +R 1 +U 5 +L 3 +D 4 +R 6 +D 9 +R 4 +L 7 +U 3 +D 6 +U 8 +D 1 +U 8 +D 5 +U 11 +R 7 +U 1 +L 1 +U 5 +L 4 +D 1 +R 1 +L 8 +U 9 +D 10 +U 4 +L 1 +R 4 +D 11 +R 8 +D 8 +R 11 +D 12 +U 3 +L 12 +U 10 +L 9 +R 11 +D 10 +R 5 +D 12 +U 6 +L 12 +R 3 +D 7 +U 11 +L 6 +U 5 +R 8 +D 3 +U 8 +D 8 +R 10 +D 12 +L 4 +R 10 +L 10 +U 1 +L 7 +R 10 +L 7 +U 4 +R 1 +L 10 +R 8 +D 11 +L 2 +U 2 +L 6 +U 9 +R 10 +L 2 +R 10 +U 4 +R 9 +D 7 +L 1 +U 7 +L 12 +D 1 +L 9 +U 7 +L 8 +R 12 +L 3 +D 9 +U 7 +L 11 +D 6 +R 4 +D 2 +R 11 +U 10 +R 8 +D 12 +U 10 +R 4 +L 11 +R 2 +U 11 +L 7 +R 6 +L 12 +R 5 +U 7 +L 6 +R 12 +D 6 +R 2 +L 10 +U 4 +D 5 +U 11 +R 3 +D 10 +L 2 +U 9 +L 3 +D 6 +U 10 +L 3 +U 10 +L 7 +R 8 +U 10 +D 3 +R 3 +L 12 +D 12 +L 9 +R 2 +D 2 +R 9 +L 4 +D 5 +L 2 +R 12 +D 2 +R 4 +U 2 +D 4 +U 3 +R 13 +L 3 +U 9 +R 5 +U 2 +D 8 +L 7 +D 10 +L 1 +U 2 +R 13 +D 11 +L 7 +D 6 +L 11 +R 12 +U 2 +D 9 +R 11 +U 9 +D 9 +L 2 +D 13 +U 3 +L 7 +D 3 +L 10 +R 5 +U 4 +L 5 +U 8 +L 4 +U 11 +R 3 +L 3 +D 1 +L 12 +D 8 +R 12 +L 1 +U 6 +D 2 +U 13 +L 5 +U 4 +R 12 +L 11 +U 1 +D 3 +U 11 +D 1 +R 2 +L 6 +D 11 +R 5 +D 7 +R 2 +U 9 +L 5 +R 4 +U 4 +R 9 +U 9 +L 9 +U 3 +R 10 +L 5 +R 5 +U 13 +D 2 +U 2 +L 3 +R 1 +U 11 +D 10 +L 7 +D 8 +R 10 +U 10 +L 13 +U 3 +L 9 +D 2 +R 13 +U 2 +D 10 +U 8 +L 5 +U 1 +D 10 +L 11 +R 5 +D 8 +L 11 +D 3 +R 13 +D 11 +L 8 +D 6 +L 3 +U 13 +L 9 +U 8 +R 8 +U 11 +D 1 +U 7 +D 2 +R 8 +L 4 +D 6 +U 10 +L 6 +R 2 +D 8 +R 5 +L 7 +U 4 +D 9 +U 4 +D 12 +L 12 +R 3 +L 12 +D 7 +L 3 +U 10 +D 3 +U 5 +R 3 +U 4 +L 4 +R 9 +L 8 +R 11 +D 5 +R 10 +D 13 +U 1 +L 4 +D 5 +R 13 +U 1 +R 8 +U 9 +D 2 +R 8 +D 4 +U 14 +R 14 +D 13 +U 2 +R 1 +U 3 +D 11 +L 3 +U 2 +D 10 +L 6 +U 9 +R 13 +D 10 +U 13 +D 4 +L 11 +D 9 +U 6 +L 6 +U 6 +D 4 +L 7 +D 14 +L 11 +D 1 +L 12 +R 2 +L 10 +U 3 +D 5 +U 12 +D 6 +U 6 +D 3 +U 8 +R 3 +D 11 +R 7 +D 4 +R 3 +U 12 +R 10 +D 9 +U 12 +R 6 +L 13 +D 1 +L 3 +U 1 +R 14 +L 8 +D 11 +L 5 +U 10 +L 12 +D 9 +R 11 +L 14 +D 8 +L 2 +R 9 +D 7 +U 4 +L 9 +D 9 +U 6 +D 5 +R 5 +L 10 +R 12 +L 13 +U 8 +L 2 +D 3 +L 8 +U 3 +R 14 +D 9 +U 8 +D 7 +U 2 +L 5 +R 11 +U 12 +L 3 +U 13 +D 4 +R 9 +U 8 +D 14 +R 14 +L 5 +D 4 +U 12 +L 1 +D 11 +R 1 +U 12 +D 1 +U 9 +L 14 +D 4 +R 15 +D 10 +U 14 +R 13 +U 11 +D 8 +L 1 +U 5 +R 2 +D 10 +U 9 +R 11 +D 2 +L 15 +R 3 +U 2 +D 4 +U 15 +D 8 +L 6 +D 1 +L 4 +U 2 +D 11 +R 6 +U 2 +R 13 +U 4 +L 5 +D 2 +R 5 +U 10 +R 4 +D 1 +R 9 +D 11 +L 13 +U 13 +R 2 +L 3 +R 7 +U 10 +R 14 +L 15 +R 1 +U 12 +D 6 +R 10 +L 12 +R 13 +D 11 +U 15 +R 8 +L 12 +D 6 +R 10 +D 4 +L 1 +R 5 +L 10 +U 2 +R 1 +L 9 +D 15 +R 7 +U 8 +D 8 +L 1 +D 14 +U 5 +D 4 +L 1 +R 6 +L 15 +U 13 +D 6 +L 5 +D 13 +R 9 +D 7 +L 15 +R 2 +D 14 +R 12 +D 13 +L 6 +U 5 +L 13 +U 16 +L 3 +D 12 +L 13 +U 11 +L 5 +U 6 +D 5 +L 15 +D 2 +R 6 +L 2 +R 5 +L 6 +R 16 +D 4 +L 10 +R 9 +L 9 +D 5 +R 6 +D 8 +U 6 +D 1 +R 4 +U 6 +D 10 +R 4 +L 12 +D 10 +R 2 +D 5 +U 15 +R 12 +U 6 +D 15 +R 5 +D 1 +L 9 +U 16 +R 3 +D 6 +L 1 +R 12 +D 12 +U 3 +R 1 +D 2 +L 11 +R 7 +D 7 +U 10 +L 8 +U 15 +L 7 +U 12 +D 10 +R 2 +L 8 +R 12 +D 16 +R 13 +L 15 +U 1 +R 1 +U 13 +L 6 +R 12 +L 5 +D 5 +U 12 +D 4 +L 7 +R 11 +L 12 +U 16 +D 11 +U 7 +L 1 +U 11 +D 7 +U 14 +D 14 +R 10 +D 4 +R 5 +D 2 +R 13 +L 13 +D 6 +L 16 +R 1 +L 4 +D 3 +U 15 +R 1 +U 2 +D 2 +U 2 +D 3 +U 7 +D 16 +U 11 +L 8 +R 1 +D 6 +U 1 +R 5 +L 6 +U 5 +D 3 +L 13 +U 8 +L 11 +D 17 +U 12 +L 16 +U 1 +D 6 +U 17 +D 7 +U 12 +R 3 +U 6 +L 10 +R 1 +L 14 +U 11 +L 8 +U 10 +L 14 +D 4 +R 3 +L 14 +D 13 +L 17 +R 12 +U 9 +D 7 +U 2 +R 10 +L 16 +U 9 +R 17 +D 14 +U 9 +L 13 +R 13 +L 5 +U 14 +L 4 +R 10 +U 2 +L 9 +D 17 +L 17 +U 9 +D 9 +L 4 +U 15 +L 2 +U 17 +R 1 +L 5 +R 2 +U 5 +R 5 +L 17 +R 4 +U 12 +R 11 +L 17 +U 11 +D 15 +U 10 +R 7 +D 9 +L 15 +U 1 +D 6 +L 13 +R 7 +D 12 +L 6 +U 14 +R 11 +D 2 +L 4 +R 14 +L 17 +R 2 +D 1 +R 13 +L 12 +D 12 +L 16 +D 14 +L 4 +R 14 +U 15 +L 17 +U 9 +D 13 +R 6 +D 2 +R 4 +L 8 +U 16 +R 10 +L 6 +U 7 +D 4 +L 15 +D 2 +U 14 +L 5 +R 8 +L 2 +D 14 +U 7 +R 5 +U 13 +L 9 +D 2 +U 18 +R 9 +U 13 +R 9 +L 5 +D 10 +U 18 +D 13 +U 13 +D 14 +L 3 +R 2 +L 13 +D 11 +R 17 +L 15 +D 3 +L 1 +U 10 +L 14 +D 15 +L 13 +R 12 +D 4 +L 1 +D 2 +R 16 +D 10 +U 11 +L 12 +U 1 +D 2 +R 3 +U 2 +R 12 +L 6 +D 1 +L 13 +R 11 +U 8 +L 8 +D 10 +R 5 +U 6 +L 7 +R 4 +U 9 +L 6 +D 10 +L 14 +U 11 +D 1 +L 7 +R 3 +U 16 +L 11 +D 13 +L 14 +U 10 +L 3 +R 12 +U 9 +R 11 +U 10 +L 8 +D 5 +U 9 +L 16 +R 17 +D 3 +R 5 +D 13 +U 8 +R 5 +U 16 +R 2 +U 13 +D 16 +L 9 +D 14 +L 15 +U 15 +L 1 +D 8 +L 7 +D 1 +R 11 +D 16 +R 9 +U 14 +L 18 +U 4 +D 14 +L 14 +D 9 +R 6 +L 1 +R 4 +L 11 +D 17 +L 9 +R 10 +L 19 +U 12 +D 15 +R 9 +L 3 +D 13 +R 6 +D 19 +R 9 +D 1 +L 13 +D 8 +L 19 +U 14 +R 18 +D 10 +R 7 +L 18 +U 18 +D 5 +L 1 +U 10 +D 10 +U 19 +R 14 +L 7 +D 19 +U 10 +L 3 +U 17 +D 1 +L 5 +U 7 +R 16 +D 3 +U 8 +D 17 +U 17 +D 17 +L 14 +D 19 +R 8 +D 14 +L 7 +U 7 +L 5 +D 6 +L 1 +U 14 +L 10 +U 15 +L 7 +D 14 +L 11 +R 5 +D 14 +L 13 +R 2 +L 19 +D 7 +R 8 +L 16 +U 4 +L 9 +U 17 +R 15 +L 8 +U 15 +D 5 +R 8 +L 16 +R 6 +D 17 +U 19 +D 19 +R 10 +D 4 +U 12 +D 2 +L 18 +D 13 +L 7 +U 17 +L 13 +D 5 +U 2 +L 6 +R 4 +U 19 +L 4 +D 8 +U 7 +L 3 +R 4 +U 17 +L 1 +U 6 +R 9 +D 16 +R 4 +D 9 +R 9 +L 11 +U 17 +D 18 +U 18 +R 16 +L 7 +R 18 +U 5 +L 4 +D 7 \ No newline at end of file diff --git a/day9/testinput b/day9/testinput new file mode 100644 index 0000000..cbea2b3 --- /dev/null +++ b/day9/testinput @@ -0,0 +1,8 @@ +R 4 +U 4 +L 3 +D 1 +R 4 +D 1 +L 5 +R 2 \ No newline at end of file diff --git a/day9/testinput2 b/day9/testinput2 new file mode 100644 index 0000000..c1eba0a --- /dev/null +++ b/day9/testinput2 @@ -0,0 +1,8 @@ +R 5 +U 8 +L 8 +D 3 +R 17 +D 10 +L 25 +U 20 \ No newline at end of file diff --git a/helper/helper.go b/helper/helper.go index b53a710..bbe58ba 100644 --- a/helper/helper.go +++ b/helper/helper.go @@ -77,3 +77,12 @@ func Sum[T int | int64](slice []T) (s T) { } return } + +func Contains[T [2]int](elems []T, v T) bool { + for _, s := range elems { + if v == s { + return true + } + } + return false +}