diff --git a/day09.py b/day09.py new file mode 100644 index 0000000..918e628 --- /dev/null +++ b/day09.py @@ -0,0 +1,63 @@ +from tools.aoc import AOCDay +from typing import Any +from tools.coordinate import Coordinate, DistanceAlgorithm + +DIR = { + 'R': Coordinate(1, 0), + 'L': Coordinate(-1, 0), + 'U': Coordinate(0, -1), + 'D': Coordinate(0, 1), +} + + +class Day(AOCDay): + inputs = [ + [ + (13, "input9_test"), + (6498, "input9"), + ], + [ + (1, "input9_test"), + (36, "input9_test2"), + (2531, "input9"), + ] + ] + + def get_visited(self, rope_length: int = 2) -> int: + rope = [Coordinate(0, 0) for _ in range(rope_length)] + visited = set() + visited.add(rope[-1]) + + for line in self.getInput(): + direction, count = line.split(" ") + for _ in range(int(count)): + rope[0] += DIR[direction] + for knot in range(1, rope_length): + dist = rope[knot].getDistanceTo( + rope[knot - 1], + algorithm=DistanceAlgorithm.MANHATTAN, + includeDiagonals=True + ) + step = rope[knot - 1] - rope[knot] + if dist == 2 or abs(step.x) == 2 and abs(step.y) == 2: + rope[knot] += Coordinate(step.x // 2, step.y // 2) + elif dist > 2: + if abs(step.x) == 2: + rope[knot] += Coordinate(step.x // 2, step.y) + else: + rope[knot] += Coordinate(step.x, step.y // 2) + + visited.add(rope[-1]) + + return len(visited) + + def part1(self) -> Any: + return self.get_visited() + + def part2(self) -> Any: + return self.get_visited(10) + + +if __name__ == '__main__': + day = Day(2022, 9) + day.run(verbose=True) diff --git a/inputs/input9 b/inputs/input9 new file mode 100644 index 0000000..8e32261 --- /dev/null +++ b/inputs/input9 @@ -0,0 +1,2000 @@ +R 1 +U 2 +R 1 +L 2 +U 2 +D 2 +L 2 +U 2 +L 2 +R 2 +D 2 +L 1 +D 2 +L 2 +U 1 +L 1 +R 2 +L 1 +R 1 +U 2 +D 1 +U 2 +L 1 +U 2 +D 1 +L 1 +D 1 +L 1 +D 2 +U 1 +D 1 +U 1 +R 2 +U 1 +L 2 +D 2 +U 1 +D 2 +R 2 +L 1 +D 1 +R 1 +U 2 +R 2 +D 2 +L 2 +U 1 +L 1 +U 2 +D 1 +U 2 +R 1 +D 1 +R 1 +L 2 +R 2 +U 1 +D 2 +L 2 +U 2 +D 1 +L 1 +U 2 +D 2 +U 1 +L 2 +R 2 +D 1 +L 1 +D 1 +U 2 +R 2 +D 1 +U 1 +R 2 +D 2 +U 2 +L 1 +R 2 +U 1 +R 2 +L 2 +U 2 +R 2 +L 1 +R 1 +U 1 +R 1 +U 1 +L 1 +D 1 +R 1 +U 2 +D 2 +U 2 +L 1 +D 2 +U 1 +R 2 +D 2 +L 1 +D 2 +L 1 +U 1 +R 1 +L 1 +U 1 +D 2 +U 1 +R 2 +D 1 +U 1 +D 1 +R 3 +L 3 +R 2 +D 2 +U 3 +R 3 +U 1 +D 1 +L 3 +D 3 +L 2 +U 3 +R 2 +U 2 +L 3 +R 2 +D 3 +R 1 +D 2 +R 1 +L 1 +D 3 +R 2 +D 1 +U 2 +L 2 +U 1 +L 1 +D 2 +R 2 +U 1 +R 3 +U 2 +R 2 +D 3 +L 2 +D 2 +R 2 +L 3 +D 1 +U 3 +L 2 +R 2 +L 3 +U 2 +R 3 +U 3 +L 2 +U 3 +R 1 +L 3 +D 3 +U 2 +L 1 +U 3 +R 2 +L 1 +U 2 +R 1 +U 1 +L 2 +R 2 +D 1 +L 1 +U 2 +D 1 +L 1 +D 1 +L 1 +D 2 +U 2 +D 3 +R 2 +D 3 +L 3 +R 3 +U 2 +L 2 +U 2 +L 2 +U 2 +L 3 +U 1 +L 2 +D 3 +L 3 +R 3 +D 2 +U 3 +R 1 +L 2 +R 3 +D 1 +U 2 +R 3 +L 3 +R 3 +U 3 +R 2 +L 2 +R 2 +D 2 +R 3 +D 2 +U 3 +L 3 +D 3 +R 3 +U 3 +R 4 +L 3 +D 2 +L 4 +D 2 +U 2 +L 1 +R 3 +U 2 +R 2 +L 4 +D 2 +R 2 +D 2 +U 2 +R 4 +D 1 +L 1 +U 1 +L 3 +D 3 +U 1 +R 1 +D 4 +U 2 +L 3 +U 3 +D 2 +R 3 +L 1 +R 1 +L 1 +R 3 +L 1 +R 1 +D 1 +R 3 +D 3 +R 2 +U 3 +R 2 +D 1 +L 3 +D 2 +U 3 +D 2 +L 4 +D 3 +R 1 +L 4 +D 2 +R 1 +U 3 +L 1 +R 4 +L 3 +U 4 +R 2 +U 1 +R 4 +L 1 +R 1 +U 3 +D 3 +R 3 +U 1 +L 4 +R 4 +U 2 +R 1 +D 2 +L 4 +R 1 +D 2 +U 2 +L 1 +U 4 +R 2 +D 2 +R 3 +U 1 +L 2 +R 3 +U 4 +R 2 +L 1 +U 1 +R 4 +L 2 +R 1 +L 2 +D 3 +U 4 +L 3 +U 4 +L 4 +U 4 +D 3 +U 3 +L 1 +D 1 +U 1 +D 1 +L 4 +D 4 +L 2 +U 4 +L 3 +D 2 +L 1 +U 1 +D 4 +R 1 +L 4 +U 5 +R 5 +U 3 +D 1 +L 4 +U 1 +L 1 +U 2 +D 4 +R 5 +U 5 +D 5 +L 4 +R 4 +L 5 +U 1 +L 1 +U 4 +L 1 +R 5 +L 5 +R 1 +D 2 +U 5 +R 4 +U 3 +D 2 +U 5 +L 3 +D 4 +U 1 +D 2 +U 3 +R 1 +D 2 +L 3 +U 4 +D 1 +L 5 +D 2 +U 3 +D 4 +R 3 +U 1 +R 1 +D 4 +L 5 +R 3 +L 3 +R 5 +L 4 +R 5 +D 4 +R 5 +U 1 +R 2 +D 4 +R 4 +U 2 +L 5 +R 3 +D 5 +U 4 +D 2 +U 5 +L 2 +R 5 +L 3 +D 2 +R 3 +U 5 +L 5 +D 5 +U 2 +R 5 +U 1 +D 2 +R 1 +L 1 +R 3 +U 2 +D 4 +U 1 +R 3 +U 5 +D 5 +L 3 +U 1 +D 1 +L 4 +R 4 +L 4 +R 1 +U 2 +L 3 +R 2 +U 2 +L 1 +U 1 +L 5 +U 3 +R 2 +U 3 +D 1 +R 4 +D 5 +L 1 +D 1 +U 3 +D 2 +U 5 +L 6 +D 2 +R 6 +D 3 +U 4 +R 3 +U 5 +D 4 +U 5 +D 1 +L 3 +U 5 +R 3 +U 1 +D 2 +R 4 +U 3 +L 6 +D 2 +R 4 +D 2 +L 2 +U 6 +R 4 +U 1 +R 4 +U 6 +L 6 +U 4 +L 3 +D 2 +U 4 +L 3 +R 4 +D 4 +U 2 +L 2 +D 1 +U 3 +L 5 +R 3 +L 4 +D 5 +R 1 +U 4 +L 2 +U 4 +R 2 +L 5 +R 6 +D 1 +U 1 +R 6 +D 6 +U 6 +R 6 +U 6 +R 2 +U 6 +R 4 +D 4 +U 5 +D 5 +R 2 +D 1 +R 6 +D 5 +R 2 +D 1 +L 6 +D 5 +L 5 +D 6 +U 5 +D 1 +U 5 +L 1 +R 5 +L 5 +U 5 +R 3 +U 2 +D 6 +L 5 +U 5 +D 5 +R 3 +D 1 +U 6 +R 6 +D 5 +U 5 +R 1 +D 5 +L 3 +R 4 +U 5 +R 5 +U 3 +D 3 +L 5 +U 2 +L 3 +U 2 +L 5 +R 6 +L 1 +D 3 +U 5 +R 5 +L 5 +U 2 +R 4 +D 6 +L 3 +R 2 +U 6 +D 3 +R 6 +D 7 +L 3 +U 2 +L 3 +D 4 +L 2 +U 3 +D 2 +L 4 +D 5 +R 2 +L 3 +D 2 +R 6 +U 6 +D 1 +R 5 +U 1 +R 5 +U 7 +L 6 +U 6 +L 4 +D 7 +U 4 +R 2 +L 7 +U 7 +L 5 +D 4 +U 4 +R 6 +U 4 +R 3 +U 3 +R 4 +U 2 +R 2 +D 4 +U 2 +R 1 +D 2 +L 5 +D 6 +R 6 +U 7 +L 2 +D 4 +L 4 +D 7 +U 7 +D 5 +L 3 +U 5 +R 2 +D 2 +L 6 +R 1 +D 1 +R 5 +D 2 +R 3 +D 5 +U 3 +L 5 +R 7 +U 2 +R 6 +U 5 +D 3 +R 3 +U 4 +D 6 +U 2 +L 4 +U 1 +R 2 +L 6 +U 6 +R 2 +U 6 +D 3 +L 4 +R 1 +L 7 +D 5 +U 3 +D 5 +R 7 +U 1 +L 1 +U 3 +R 5 +D 6 +R 3 +U 7 +L 3 +R 1 +L 7 +U 3 +D 6 +R 4 +L 2 +D 4 +R 6 +L 4 +D 8 +R 3 +D 5 +L 2 +R 2 +L 4 +U 3 +R 1 +U 1 +D 3 +L 1 +R 6 +U 5 +D 6 +U 3 +D 3 +L 7 +U 3 +D 6 +L 2 +R 2 +D 7 +L 7 +D 6 +L 2 +R 3 +L 1 +R 2 +U 3 +L 6 +D 3 +U 5 +L 3 +U 4 +R 8 +L 5 +U 5 +R 3 +D 4 +R 1 +L 7 +U 4 +R 4 +D 8 +U 8 +D 4 +L 8 +U 3 +L 3 +R 4 +L 1 +U 3 +D 4 +R 5 +L 4 +R 3 +L 7 +R 1 +U 1 +D 2 +L 8 +U 5 +R 2 +L 7 +U 1 +L 8 +R 4 +U 3 +R 7 +U 6 +L 3 +U 6 +L 3 +U 3 +D 8 +L 5 +D 7 +U 1 +L 2 +R 4 +L 4 +R 1 +D 8 +R 8 +L 4 +R 5 +L 2 +R 8 +L 7 +D 4 +L 1 +U 1 +R 2 +U 1 +L 2 +D 1 +L 2 +R 8 +U 2 +L 8 +D 5 +L 4 +R 6 +U 1 +D 2 +L 5 +R 7 +L 6 +R 1 +L 2 +R 3 +L 2 +D 2 +L 3 +R 4 +U 7 +R 6 +D 3 +L 4 +D 6 +R 3 +D 6 +R 8 +U 1 +R 6 +D 1 +U 7 +D 9 +R 2 +D 1 +U 6 +R 3 +D 5 +U 5 +L 6 +U 3 +D 7 +L 2 +D 6 +L 5 +U 4 +L 2 +D 5 +L 3 +D 4 +U 7 +L 4 +D 9 +R 3 +L 5 +R 5 +L 5 +U 1 +R 8 +L 6 +U 2 +D 2 +R 3 +L 5 +D 7 +L 4 +U 4 +D 9 +L 8 +R 1 +L 5 +R 8 +D 9 +R 6 +L 6 +U 6 +R 3 +U 5 +R 8 +U 4 +L 8 +U 3 +R 2 +L 7 +R 9 +U 6 +L 2 +U 2 +D 9 +U 6 +R 5 +D 8 +R 1 +D 1 +L 4 +U 2 +D 9 +L 9 +D 5 +U 9 +R 2 +D 6 +R 9 +L 1 +R 2 +U 1 +L 7 +R 4 +U 4 +L 2 +U 2 +L 5 +D 5 +L 6 +D 2 +R 8 +L 4 +D 9 +R 8 +L 2 +D 4 +R 2 +L 6 +R 10 +U 7 +L 4 +U 9 +R 8 +D 9 +U 10 +R 2 +L 4 +U 7 +D 8 +R 8 +D 5 +L 5 +D 5 +L 2 +D 1 +U 5 +D 6 +R 7 +L 10 +U 9 +R 3 +D 9 +U 2 +L 8 +U 3 +D 2 +U 5 +D 5 +R 2 +U 5 +R 4 +L 8 +U 10 +L 7 +D 4 +L 1 +U 7 +L 10 +R 1 +L 6 +D 10 +R 2 +U 3 +D 1 +R 2 +D 2 +U 6 +L 1 +D 2 +U 5 +D 6 +L 4 +D 3 +R 4 +L 3 +D 10 +U 2 +R 8 +U 5 +L 5 +R 8 +D 6 +L 8 +U 8 +R 9 +U 3 +L 9 +U 2 +R 5 +U 1 +R 1 +D 2 +L 3 +R 9 +D 10 +L 2 +R 9 +D 4 +L 7 +U 7 +R 2 +D 10 +U 5 +R 9 +L 6 +D 4 +U 10 +R 5 +D 2 +R 7 +U 10 +L 3 +D 9 +L 3 +R 6 +L 8 +U 5 +R 10 +L 9 +U 4 +R 8 +D 2 +R 4 +U 10 +L 1 +U 9 +L 9 +R 3 +D 4 +L 7 +R 6 +D 8 +L 5 +R 9 +L 8 +R 7 +D 10 +L 3 +D 3 +U 6 +L 5 +R 5 +L 9 +R 2 +D 2 +U 5 +R 8 +D 11 +U 10 +L 3 +D 6 +U 11 +R 11 +U 4 +D 7 +L 8 +R 10 +U 10 +L 5 +R 7 +L 4 +U 2 +L 5 +U 3 +D 6 +U 11 +D 6 +L 1 +D 10 +L 6 +D 9 +R 3 +D 5 +R 6 +U 5 +L 7 +R 9 +D 5 +R 11 +D 10 +U 1 +L 2 +R 8 +L 6 +D 5 +U 10 +L 10 +R 5 +U 2 +D 3 +L 2 +R 6 +D 6 +L 1 +U 5 +R 8 +D 7 +R 10 +L 4 +D 2 +R 10 +U 8 +L 10 +R 7 +U 8 +D 7 +U 3 +R 8 +D 10 +U 11 +D 11 +L 4 +U 5 +R 10 +U 2 +L 11 +U 10 +R 10 +U 1 +D 6 +U 1 +L 3 +R 11 +L 2 +U 3 +D 1 +U 11 +L 2 +D 4 +R 9 +L 2 +D 7 +U 1 +R 2 +L 8 +R 6 +D 4 +R 1 +L 6 +D 4 +U 8 +D 8 +R 5 +U 11 +R 6 +U 11 +R 11 +U 7 +R 9 +D 4 +R 1 +D 9 +R 3 +L 9 +U 4 +R 6 +D 5 +L 3 +R 11 +U 11 +L 6 +R 11 +L 7 +D 1 +R 10 +D 2 +U 8 +R 4 +L 6 +R 4 +U 4 +D 12 +R 6 +L 12 +R 9 +L 8 +R 2 +L 12 +U 2 +L 9 +D 2 +U 8 +D 9 +R 12 +U 6 +L 2 +U 11 +R 5 +D 7 +U 11 +D 1 +R 6 +U 3 +D 9 +L 2 +R 1 +D 6 +R 12 +D 5 +L 11 +R 11 +L 3 +R 11 +L 1 +D 11 +U 10 +L 2 +R 2 +U 8 +D 3 +U 3 +L 4 +D 8 +L 2 +D 9 +R 10 +D 9 +U 11 +L 3 +D 4 +L 5 +U 4 +R 5 +D 12 +U 2 +L 11 +R 1 +L 6 +D 11 +R 9 +U 10 +D 2 +L 12 +D 7 +U 9 +D 12 +U 5 +L 4 +D 7 +L 11 +D 7 +L 2 +D 10 +R 7 +D 1 +R 9 +U 4 +D 12 +U 4 +R 3 +D 1 +L 6 +D 3 +R 9 +L 12 +D 10 +U 2 +L 12 +D 6 +L 2 +D 5 +L 1 +U 4 +L 5 +U 5 +R 7 +U 9 +R 4 +D 9 +L 13 +U 2 +L 8 +U 1 +R 10 +L 5 +U 2 +L 7 +U 6 +L 10 +U 11 +R 2 +U 6 +R 13 +D 4 +U 3 +R 11 +D 2 +U 7 +D 4 +R 13 +L 7 +R 11 +L 8 +U 4 +R 13 +D 9 +U 11 +L 4 +D 10 +U 8 +D 8 +R 6 +U 7 +L 8 +R 2 +U 7 +L 12 +R 2 +D 8 +L 7 +U 6 +D 6 +L 9 +R 8 +L 11 +U 6 +D 3 +U 2 +L 2 +R 1 +U 7 +L 6 +U 5 +D 6 +U 11 +D 11 +U 8 +R 12 +L 7 +R 3 +D 8 +L 11 +U 6 +D 10 +L 2 +D 6 +L 5 +D 10 +U 12 +D 6 +R 10 +D 4 +R 13 +U 2 +D 3 +L 9 +U 12 +L 10 +D 11 +R 7 +D 5 +L 5 +D 2 +L 11 +U 6 +L 1 +U 11 +D 5 +R 8 +U 1 +D 11 +U 8 +L 6 +D 6 +U 12 +L 7 +R 14 +D 8 +R 11 +D 12 +R 7 +U 6 +D 12 +R 6 +D 6 +L 6 +U 14 +D 2 +U 11 +D 11 +L 14 +U 8 +L 12 +D 12 +U 9 +R 7 +D 2 +U 10 +D 8 +R 8 +D 8 +L 10 +D 11 +L 4 +D 11 +U 4 +D 6 +U 5 +D 8 +R 14 +D 5 +R 1 +L 8 +R 8 +L 2 +R 11 +D 9 +L 3 +R 7 +L 5 +U 14 +L 1 +R 8 +L 12 +R 5 +D 11 +U 6 +R 1 +U 10 +R 11 +U 11 +L 9 +R 9 +L 8 +R 1 +D 3 +R 11 +U 12 +D 14 +L 1 +U 4 +D 2 +L 11 +R 4 +U 14 +R 1 +L 3 +R 13 +L 13 +D 8 +L 14 +U 12 +R 13 +D 9 +R 8 +D 12 +U 14 +D 2 +L 10 +R 1 +D 12 +R 13 +L 1 +U 5 +L 12 +R 6 +U 14 +R 6 +L 13 +U 11 +R 2 +D 6 +R 5 +U 12 +R 1 +D 11 +L 4 +U 6 +R 4 +U 5 +L 12 +D 3 +R 4 +D 1 +L 15 +R 15 +U 13 +R 10 +U 14 +R 15 +D 4 +R 8 +U 13 +L 4 +R 5 +D 7 +R 5 +L 2 +D 7 +L 4 +R 7 +D 6 +R 3 +D 12 +U 9 +L 14 +R 7 +L 12 +R 7 +D 15 +R 4 +L 1 +D 11 +R 10 +D 8 +L 9 +D 10 +L 4 +R 10 +U 8 +D 2 +L 8 +D 7 +U 11 +L 9 +U 15 +L 7 +R 6 +L 14 +D 2 +L 15 +D 6 +U 2 +R 9 +D 6 +U 7 +R 7 +U 15 +D 13 +L 6 +D 9 +R 12 +U 2 +R 8 +L 14 +R 11 +D 7 +U 1 +R 11 +D 12 +L 15 +D 9 +U 7 +L 3 +U 12 +L 3 +D 9 +R 12 +U 2 +D 8 +L 1 +U 15 +R 15 +U 15 +L 10 +U 2 +D 4 +R 8 +U 4 +D 8 +L 7 +R 11 +U 15 +D 9 +R 10 +D 8 +R 6 +D 6 +U 3 +L 13 +D 10 +L 11 +D 7 +U 5 +D 8 +U 7 +R 10 +U 1 +L 5 +D 13 +L 13 +U 11 +R 14 +D 7 +L 4 +R 8 +D 12 +U 14 +D 7 +L 5 +D 14 +U 2 +L 16 +R 9 +U 13 +R 14 +L 16 +U 16 +L 9 +U 13 +R 5 +U 15 +R 6 +D 7 +R 15 +L 15 +U 3 +L 5 +R 3 +U 1 +R 14 +U 5 +L 6 +U 13 +D 6 +U 1 +R 10 +D 11 +L 16 +U 10 +R 16 +D 15 +L 7 +R 15 +U 15 +R 5 +D 9 +U 6 +D 7 +L 15 +R 9 +L 10 +U 13 +R 7 +D 15 +U 14 +D 12 +L 2 +U 11 +D 14 +R 4 +L 1 +U 1 +R 13 +D 12 +R 14 +L 4 +R 11 +U 14 +L 2 +D 6 +R 15 +U 12 +R 15 +U 9 +D 11 +R 4 +L 15 +U 12 +D 14 +L 11 +U 10 +L 15 +U 9 +D 7 +R 12 +L 14 +U 15 +L 6 +U 2 +R 11 +L 12 +R 5 +U 8 +D 7 +U 6 +R 2 +U 6 +R 16 +L 2 +R 11 +L 7 +D 16 +R 7 +L 4 +R 13 +U 12 +D 1 +R 2 +D 4 +L 10 +D 12 +R 3 +D 14 +R 17 +L 4 +D 3 +L 2 +R 13 +L 15 +R 13 +U 9 +D 7 +L 13 +U 14 +D 6 +L 6 +D 6 +R 3 +U 6 +R 8 +U 14 +R 13 +L 15 +D 2 +U 3 +D 10 +R 16 +L 10 +D 8 +R 10 +D 9 +U 8 +R 1 +L 4 +U 14 +R 7 +L 16 +R 8 +D 4 +R 9 +U 12 +D 8 +U 7 +R 9 +L 16 +D 15 +U 11 +D 15 +U 2 +R 9 +U 10 +L 14 +D 14 +R 4 +U 12 +L 1 +U 8 +R 3 +U 13 +D 17 +U 17 +D 6 +U 17 +L 11 +D 16 +L 10 +R 10 +L 6 +U 16 +L 7 +D 8 +R 16 +U 7 +D 9 +L 2 +U 5 +L 4 +U 10 +D 1 +L 15 +U 5 +L 14 +R 7 +U 15 +L 14 +U 14 +L 7 +D 3 +L 4 +U 1 +R 11 +D 12 +R 9 +U 16 +L 3 +D 3 +L 4 +U 5 +D 16 +U 1 +D 15 +R 1 +L 16 +U 7 +L 2 +U 12 +L 13 +U 16 +D 9 +R 4 +D 15 +R 7 +U 14 +L 2 +U 9 +R 2 +L 13 +U 16 +R 4 +D 17 +U 10 +D 10 +U 10 +D 18 +R 10 +U 7 +L 6 +U 9 +D 9 +L 5 +U 9 +R 9 +L 15 +U 9 +D 10 +U 10 +R 10 +D 2 +U 15 +D 3 +R 18 +U 13 +R 1 +D 17 +L 16 +D 10 +L 1 +R 7 +U 1 +D 12 +L 3 +U 12 +L 6 +R 18 +D 13 +R 18 +U 17 +D 7 +L 11 +D 14 +L 2 +U 18 +D 8 +L 6 +D 16 +U 4 +R 14 +U 3 +D 11 +R 12 +U 12 +R 5 +D 16 +R 17 +U 3 +D 15 +U 11 +L 17 +U 15 +L 17 +U 12 +D 15 +L 14 +D 14 +U 13 +L 16 +R 5 +U 16 +D 6 +U 13 +L 13 +D 4 +R 6 +D 6 +L 18 +U 18 +L 15 +R 6 +L 6 +R 6 +U 13 +L 8 +U 13 +R 13 +U 13 +L 15 +R 6 +U 8 +R 10 +U 11 +L 18 +U 3 +L 2 +D 8 +L 5 +U 11 +L 5 +U 8 +R 13 +U 12 +R 9 +U 18 +D 11 +L 12 +D 13 +R 18 +U 2 +L 9 +D 14 +R 2 +L 17 +U 3 +L 9 +U 10 +R 9 +L 13 +R 15 +D 14 +U 2 +R 4 +L 5 +U 12 +L 14 +U 15 +D 13 +R 10 +L 5 +U 15 +D 10 +R 7 +L 9 +R 15 +L 6 +U 9 +L 15 +U 10 +R 14 +L 17 +R 16 +U 12 +D 15 +L 5 +U 17 +R 12 +D 17 +U 8 +R 10 +L 9 +R 6 +U 1 +D 3 +L 3 +D 7 +U 6 +L 9 +U 19 +R 10 +U 14 +R 15 +U 4 +D 9 +R 17 +L 6 +U 9 +R 2 +U 9 +R 16 +L 13 +U 11 +R 15 +D 10 +L 5 +U 1 +R 4 +U 17 +L 1 +U 10 +L 3 +U 9 +L 17 +U 8 +L 2 +U 10 +D 12 +L 16 +R 18 +L 6 +D 11 +R 6 +U 7 +R 3 +L 15 +R 7 +U 14 +R 2 +U 7 +R 17 +L 7 +R 1 +D 11 +R 10 +L 17 +R 5 +U 10 +L 15 +U 7 +R 7 +L 17 +D 19 +U 17 +R 3 +D 6 +L 8 +R 8 +D 3 +U 7 +L 9 diff --git a/inputs/input9_test b/inputs/input9_test new file mode 100644 index 0000000..cbea2b3 --- /dev/null +++ b/inputs/input9_test @@ -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/inputs/input9_test2 b/inputs/input9_test2 new file mode 100644 index 0000000..c1eba0a --- /dev/null +++ b/inputs/input9_test2 @@ -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