aboutsummaryrefslogtreecommitdiff
path: root/2022/09
diff options
context:
space:
mode:
authorMarvin Borner2022-12-09 07:22:05 +0100
committerMarvin Borner2022-12-09 07:26:35 +0100
commit0fd2e425ea70484ad2fa6ab7379be954c92f3c2f (patch)
tree2ab0ec9b9b385f1141ad3cf6cb1cbc42ede3ade5 /2022/09
parent01722b35f1101358077481008c998fb84867c928 (diff)
i did NOT like that
Diffstat (limited to '2022/09')
-rw-r--r--2022/09/input2000
-rw-r--r--2022/09/solve.py32
2 files changed, 2032 insertions, 0 deletions
diff --git a/2022/09/input b/2022/09/input
new file mode 100644
index 0000000..de3f33c
--- /dev/null
+++ b/2022/09/input
@@ -0,0 +1,2000 @@
+U 2
+D 2
+R 2
+U 2
+D 1
+L 2
+R 2
+D 1
+R 2
+D 1
+R 2
+L 1
+U 1
+L 2
+R 2
+L 2
+U 2
+R 2
+L 1
+U 1
+R 2
+U 1
+D 2
+L 1
+U 2
+D 1
+L 1
+R 1
+L 1
+D 1
+R 1
+D 2
+L 1
+U 2
+L 1
+U 1
+D 2
+U 1
+R 2
+U 1
+R 2
+D 1
+U 1
+D 2
+L 2
+U 2
+L 2
+R 1
+L 1
+U 2
+D 2
+U 1
+R 2
+L 2
+U 1
+R 1
+L 2
+D 1
+L 1
+U 2
+D 1
+R 1
+U 2
+R 2
+U 2
+R 2
+D 1
+L 2
+R 2
+U 2
+D 2
+U 2
+L 1
+U 1
+L 2
+U 1
+D 1
+L 1
+D 1
+L 1
+R 1
+L 1
+R 2
+D 1
+L 1
+D 2
+R 2
+L 1
+U 2
+L 1
+U 2
+L 1
+U 1
+D 2
+U 1
+L 1
+R 1
+D 1
+L 2
+U 1
+L 1
+R 2
+D 1
+L 2
+U 1
+L 2
+D 2
+R 2
+D 2
+U 1
+D 2
+R 3
+U 2
+L 2
+R 3
+L 2
+U 3
+L 3
+D 1
+R 2
+L 1
+R 2
+U 3
+R 3
+L 1
+D 2
+R 3
+L 2
+D 3
+L 3
+U 1
+R 1
+D 2
+R 2
+D 3
+L 3
+U 3
+R 3
+D 2
+U 1
+D 3
+L 2
+R 1
+D 3
+L 3
+D 3
+L 2
+D 3
+L 1
+D 2
+R 2
+L 3
+U 2
+R 2
+L 1
+U 1
+D 3
+R 3
+U 2
+R 3
+D 1
+R 1
+U 3
+D 2
+L 2
+D 2
+L 3
+U 2
+R 3
+D 1
+L 3
+U 1
+R 3
+U 1
+D 1
+U 2
+D 1
+R 2
+L 2
+D 1
+R 1
+D 2
+L 1
+U 1
+D 1
+R 2
+D 1
+L 2
+R 1
+D 3
+U 1
+D 3
+U 2
+L 1
+U 3
+D 2
+L 3
+U 2
+D 3
+R 3
+D 3
+U 3
+R 1
+U 2
+L 3
+D 1
+R 3
+D 2
+U 2
+D 2
+L 3
+U 3
+D 3
+R 3
+L 2
+D 3
+U 3
+D 3
+U 2
+R 2
+L 3
+R 3
+U 1
+D 1
+U 2
+L 4
+D 1
+U 1
+L 2
+D 4
+U 3
+L 1
+U 1
+D 1
+L 4
+R 4
+L 4
+R 2
+U 4
+L 2
+R 1
+L 3
+U 3
+D 2
+L 3
+U 4
+R 3
+L 4
+D 2
+U 3
+D 2
+U 2
+L 4
+D 2
+L 1
+R 4
+U 4
+D 2
+U 4
+L 4
+D 2
+L 3
+U 3
+D 1
+R 1
+U 1
+D 4
+U 3
+L 4
+D 1
+L 4
+U 1
+L 2
+U 3
+D 2
+L 3
+U 4
+D 2
+U 1
+D 1
+U 1
+R 2
+L 2
+D 3
+U 2
+R 1
+U 1
+L 4
+U 1
+R 2
+D 3
+R 1
+D 1
+R 3
+D 3
+L 1
+U 3
+L 3
+D 4
+L 3
+D 4
+L 1
+D 1
+R 1
+D 1
+U 4
+L 2
+U 3
+D 4
+R 4
+D 1
+U 2
+D 4
+U 1
+R 4
+L 2
+D 3
+U 4
+R 3
+D 1
+L 3
+D 4
+R 4
+L 3
+D 2
+L 3
+U 3
+R 3
+D 1
+R 1
+L 2
+D 2
+U 4
+R 1
+L 1
+D 2
+U 3
+D 3
+L 3
+D 5
+L 1
+U 2
+L 5
+U 3
+R 3
+L 2
+U 2
+L 1
+U 5
+L 4
+D 1
+L 3
+D 5
+U 3
+R 5
+D 1
+L 5
+R 5
+L 5
+D 4
+U 4
+L 5
+U 5
+R 5
+U 2
+D 5
+L 5
+U 3
+L 3
+U 4
+L 5
+U 3
+D 4
+R 3
+U 1
+L 2
+U 5
+L 1
+U 2
+D 1
+U 1
+D 1
+R 4
+L 1
+R 2
+D 2
+R 3
+L 5
+R 2
+D 5
+U 4
+R 5
+D 3
+L 1
+D 3
+R 3
+L 1
+R 4
+D 3
+L 5
+D 1
+R 1
+U 4
+D 2
+R 3
+U 4
+D 3
+U 1
+D 1
+R 1
+D 4
+U 1
+L 5
+R 1
+U 5
+L 4
+R 1
+L 1
+R 4
+D 3
+U 3
+D 3
+U 4
+L 2
+U 1
+R 2
+U 1
+D 4
+U 4
+R 1
+U 4
+R 3
+L 4
+R 2
+L 4
+D 5
+R 3
+U 1
+D 1
+L 3
+R 2
+U 1
+D 3
+U 1
+D 1
+R 3
+U 2
+L 6
+R 1
+D 1
+R 5
+L 5
+U 4
+D 1
+L 6
+D 5
+L 3
+D 6
+R 1
+U 3
+D 3
+R 5
+U 1
+R 5
+D 1
+L 1
+D 4
+L 1
+D 4
+R 1
+D 5
+U 6
+L 5
+R 2
+U 2
+D 6
+R 3
+U 6
+L 2
+D 5
+U 3
+R 1
+D 3
+L 1
+D 3
+U 1
+D 3
+U 4
+R 2
+D 3
+R 2
+D 2
+L 3
+U 2
+R 6
+D 4
+R 4
+D 1
+U 3
+D 1
+L 3
+U 6
+R 4
+D 3
+R 3
+L 4
+R 2
+U 5
+D 6
+L 5
+U 3
+L 4
+D 2
+R 2
+D 3
+L 6
+D 1
+U 1
+R 4
+L 5
+D 3
+U 4
+L 2
+U 5
+L 2
+U 5
+D 1
+L 4
+U 1
+R 2
+L 3
+D 1
+U 4
+D 2
+U 2
+L 1
+D 4
+R 2
+L 3
+R 2
+D 6
+R 2
+D 3
+R 3
+D 2
+U 6
+D 4
+R 4
+U 4
+L 5
+R 3
+L 4
+D 3
+L 2
+R 2
+D 1
+L 6
+R 7
+L 3
+U 3
+D 6
+U 4
+R 4
+D 7
+L 4
+U 1
+L 5
+R 5
+L 5
+U 7
+R 1
+D 2
+R 6
+D 6
+U 2
+R 1
+U 2
+L 5
+D 7
+U 5
+L 3
+U 4
+L 5
+U 4
+L 2
+D 1
+U 3
+R 4
+L 5
+R 5
+L 4
+R 3
+L 7
+R 4
+U 1
+L 4
+R 4
+U 7
+D 3
+U 4
+L 7
+D 5
+L 1
+D 5
+L 7
+U 5
+L 5
+D 3
+U 5
+D 3
+U 7
+R 5
+D 1
+U 2
+L 1
+U 1
+D 1
+L 1
+U 6
+D 2
+L 7
+U 5
+R 4
+L 3
+U 2
+L 1
+R 1
+L 2
+D 3
+L 3
+U 4
+D 4
+U 7
+D 7
+U 6
+D 7
+R 5
+U 7
+D 4
+U 3
+R 3
+D 3
+U 6
+L 6
+U 1
+R 1
+U 7
+R 2
+U 1
+D 1
+R 1
+D 1
+L 6
+U 6
+D 7
+R 4
+D 1
+L 2
+U 6
+L 2
+D 2
+R 2
+D 3
+L 3
+R 5
+D 1
+R 4
+L 1
+U 1
+R 3
+L 8
+U 3
+L 3
+R 5
+L 8
+D 1
+R 1
+D 8
+L 4
+D 2
+L 4
+U 3
+D 6
+R 2
+U 4
+D 6
+R 8
+D 4
+L 7
+R 6
+U 2
+R 1
+U 3
+R 2
+L 1
+R 8
+L 2
+D 6
+R 6
+D 6
+U 2
+D 6
+R 7
+D 4
+U 6
+R 5
+D 8
+L 3
+R 6
+D 4
+R 4
+U 2
+D 8
+L 8
+U 6
+D 2
+R 3
+L 2
+D 6
+U 8
+R 3
+D 3
+L 5
+D 5
+L 4
+R 8
+D 3
+U 3
+D 2
+R 8
+U 4
+L 8
+U 2
+R 1
+L 4
+D 5
+L 5
+R 5
+D 3
+L 7
+D 4
+L 6
+D 2
+U 3
+D 2
+L 2
+D 6
+R 2
+U 6
+R 7
+L 8
+U 3
+D 8
+L 1
+U 8
+L 8
+D 2
+R 6
+U 4
+D 8
+U 3
+L 7
+D 7
+L 8
+U 8
+L 4
+U 6
+L 1
+U 4
+D 7
+U 3
+R 2
+D 4
+L 5
+U 8
+R 4
+U 1
+R 2
+U 4
+D 7
+U 7
+R 7
+D 7
+U 9
+L 4
+D 8
+U 6
+L 3
+D 1
+U 8
+L 9
+U 8
+D 8
+U 2
+L 1
+U 5
+L 9
+U 4
+D 7
+L 5
+U 4
+R 5
+D 2
+L 3
+D 5
+R 3
+L 2
+D 9
+U 5
+L 6
+U 7
+D 2
+R 2
+D 3
+R 5
+U 7
+L 1
+U 9
+R 3
+D 8
+R 6
+D 5
+U 9
+R 9
+D 3
+U 8
+D 3
+R 6
+D 4
+U 8
+L 4
+D 8
+R 2
+U 2
+R 3
+D 9
+L 9
+U 7
+R 4
+D 4
+L 5
+U 1
+D 3
+R 6
+L 4
+R 1
+D 6
+R 4
+L 4
+U 6
+D 2
+L 2
+D 3
+R 8
+D 3
+U 4
+L 4
+D 2
+U 2
+L 4
+D 9
+R 9
+D 6
+U 7
+L 8
+U 6
+D 5
+R 2
+D 5
+U 9
+R 5
+D 7
+U 2
+L 3
+R 2
+U 5
+L 4
+D 5
+U 2
+L 9
+U 3
+R 2
+D 9
+R 5
+D 9
+U 2
+R 2
+L 6
+U 3
+L 6
+R 8
+U 5
+D 8
+R 9
+L 2
+R 2
+U 1
+D 10
+R 8
+L 6
+D 9
+R 5
+L 10
+R 2
+L 3
+R 9
+D 7
+U 10
+D 9
+L 7
+U 8
+D 7
+U 2
+D 1
+U 5
+R 9
+U 9
+R 6
+D 4
+L 3
+D 6
+R 10
+D 2
+L 4
+U 8
+R 6
+L 3
+U 1
+D 8
+R 6
+D 4
+L 1
+R 3
+L 10
+U 4
+D 5
+U 1
+R 3
+U 5
+R 5
+D 9
+R 1
+L 4
+U 4
+R 4
+D 7
+L 1
+U 6
+R 6
+U 1
+D 4
+R 2
+L 3
+D 6
+L 3
+R 1
+L 10
+D 1
+L 1
+U 6
+R 7
+L 8
+U 2
+D 10
+R 4
+D 9
+R 2
+U 9
+L 2
+U 7
+D 4
+U 4
+R 9
+U 9
+R 6
+D 7
+L 8
+U 1
+D 6
+L 6
+U 8
+D 3
+R 4
+L 4
+D 1
+L 2
+D 3
+L 2
+U 1
+L 5
+D 2
+U 8
+L 1
+U 5
+L 3
+U 3
+R 3
+U 1
+L 7
+D 9
+R 3
+D 10
+R 8
+L 5
+D 3
+U 6
+R 4
+U 4
+D 2
+L 5
+U 11
+L 3
+U 1
+L 6
+D 1
+L 2
+U 8
+R 6
+L 4
+R 2
+U 3
+L 3
+D 4
+L 2
+R 5
+U 4
+D 5
+U 10
+R 1
+D 6
+L 4
+U 9
+D 3
+U 5
+D 9
+L 1
+U 8
+D 11
+L 4
+D 4
+L 5
+D 7
+L 7
+R 10
+U 5
+R 1
+D 10
+R 3
+D 11
+R 7
+L 6
+U 7
+D 4
+L 7
+U 8
+R 6
+L 4
+U 5
+L 7
+R 2
+D 10
+L 8
+R 4
+U 1
+R 5
+L 2
+R 4
+L 6
+R 4
+U 10
+R 6
+U 9
+R 9
+D 6
+L 7
+D 1
+U 1
+L 8
+U 1
+D 8
+L 10
+R 6
+D 4
+R 9
+D 4
+R 3
+D 4
+U 8
+L 3
+D 7
+L 2
+R 10
+U 5
+R 4
+L 3
+D 6
+U 7
+R 8
+D 5
+R 6
+L 7
+R 4
+U 6
+L 8
+D 8
+R 6
+L 6
+U 8
+R 10
+U 4
+R 2
+D 2
+L 11
+R 10
+L 5
+U 10
+L 5
+D 12
+L 7
+D 8
+L 2
+U 1
+L 11
+R 3
+D 8
+U 7
+L 6
+D 9
+L 12
+U 7
+L 11
+R 7
+U 8
+L 4
+D 9
+U 6
+D 9
+R 7
+L 4
+R 12
+U 8
+D 6
+U 8
+D 6
+U 5
+L 2
+U 2
+L 9
+D 10
+L 11
+U 10
+R 4
+L 12
+U 6
+L 11
+R 10
+U 9
+L 2
+D 11
+L 11
+D 10
+U 8
+R 10
+L 7
+R 6
+L 6
+U 5
+L 8
+D 5
+U 7
+L 5
+D 8
+R 5
+L 7
+D 10
+L 10
+D 12
+L 8
+R 11
+U 6
+L 12
+D 9
+U 5
+R 2
+U 6
+D 11
+U 5
+R 1
+L 2
+R 3
+U 8
+R 4
+L 10
+R 6
+D 9
+L 3
+U 11
+L 4
+U 1
+R 5
+L 8
+D 8
+U 2
+D 7
+U 5
+R 10
+L 4
+D 4
+U 2
+L 7
+D 12
+U 12
+D 5
+U 12
+R 3
+L 4
+U 10
+L 1
+R 2
+L 9
+R 9
+L 5
+U 5
+L 10
+U 12
+L 3
+D 5
+U 12
+L 10
+D 11
+U 12
+L 2
+U 11
+R 6
+D 10
+U 6
+L 5
+D 10
+U 10
+D 12
+U 3
+L 10
+U 9
+R 4
+U 4
+L 12
+R 12
+L 4
+D 5
+L 9
+U 5
+L 11
+R 12
+D 8
+L 6
+U 10
+D 2
+U 11
+D 6
+R 10
+D 1
+L 5
+U 1
+D 10
+U 1
+L 13
+U 11
+L 6
+R 1
+U 11
+D 10
+R 11
+L 3
+U 6
+R 13
+U 13
+L 6
+R 4
+D 3
+L 10
+U 2
+R 9
+D 6
+L 12
+U 11
+D 9
+R 2
+L 2
+D 4
+R 13
+L 7
+R 7
+L 9
+R 11
+U 4
+D 2
+L 4
+R 12
+L 3
+D 8
+U 9
+D 3
+R 11
+U 11
+D 13
+U 1
+D 6
+U 2
+R 13
+L 5
+U 6
+L 5
+U 13
+L 12
+D 7
+L 12
+R 4
+U 4
+D 3
+L 5
+D 10
+U 10
+L 2
+U 11
+L 9
+U 11
+R 7
+D 4
+U 9
+D 7
+R 6
+L 2
+D 2
+L 1
+U 10
+R 5
+U 5
+R 1
+L 10
+D 11
+U 5
+D 13
+R 9
+D 6
+R 2
+D 13
+R 12
+L 11
+D 6
+R 9
+U 12
+R 11
+U 6
+R 12
+D 4
+R 11
+L 5
+D 1
+U 5
+R 8
+D 1
+R 12
+L 9
+U 6
+L 9
+U 3
+L 6
+R 3
+U 2
+R 3
+U 14
+L 7
+R 7
+L 12
+U 7
+R 5
+D 7
+L 10
+U 14
+D 8
+L 5
+U 11
+D 4
+U 10
+R 9
+U 4
+R 1
+L 11
+U 13
+D 8
+R 10
+L 3
+U 11
+L 5
+U 2
+R 6
+U 3
+R 10
+L 4
+R 3
+D 8
+U 11
+L 11
+U 6
+R 6
+U 8
+R 4
+L 10
+R 2
+U 4
+L 2
+D 12
+R 12
+D 4
+U 14
+R 6
+U 1
+R 9
+L 5
+U 9
+D 5
+R 13
+U 11
+L 8
+R 11
+D 9
+L 8
+D 8
+U 5
+R 2
+L 3
+D 6
+U 9
+D 1
+L 8
+U 6
+L 6
+R 8
+D 13
+R 12
+L 5
+U 8
+R 11
+D 4
+U 13
+D 10
+U 4
+D 3
+L 14
+R 14
+D 5
+R 2
+D 7
+L 13
+U 1
+L 14
+U 15
+D 11
+R 2
+U 15
+R 11
+L 8
+U 11
+D 4
+R 2
+U 8
+L 8
+R 11
+U 9
+L 11
+D 4
+L 8
+U 9
+L 9
+D 15
+U 1
+L 8
+U 7
+L 12
+U 13
+R 7
+L 6
+D 13
+U 1
+L 9
+D 11
+R 8
+D 3
+R 11
+L 8
+R 9
+U 2
+L 1
+U 5
+D 14
+R 3
+U 12
+R 4
+U 15
+D 1
+R 11
+L 11
+U 11
+L 1
+D 12
+U 7
+L 13
+R 4
+U 5
+D 15
+L 14
+R 10
+U 9
+R 7
+D 13
+L 15
+R 10
+L 2
+R 5
+D 12
+U 13
+R 6
+L 15
+R 14
+D 1
+U 1
+L 2
+U 11
+R 15
+U 8
+R 9
+U 5
+L 9
+D 14
+R 9
+D 9
+U 8
+R 8
+U 3
+R 7
+D 11
+R 4
+U 9
+R 9
+U 11
+D 4
+U 12
+L 9
+R 3
+D 7
+L 6
+R 1
+D 9
+R 1
+D 4
+R 16
+U 12
+R 8
+D 7
+L 7
+R 9
+U 16
+R 15
+U 14
+L 14
+D 3
+R 4
+U 4
+D 1
+L 2
+D 11
+R 2
+U 2
+D 16
+U 4
+D 5
+R 14
+D 3
+R 5
+D 10
+R 2
+L 4
+U 6
+R 9
+D 16
+R 12
+U 2
+L 16
+R 7
+L 8
+R 5
+L 5
+U 14
+D 16
+U 7
+R 2
+U 15
+L 3
+R 7
+L 5
+U 8
+R 11
+D 3
+L 5
+U 7
+L 8
+R 3
+U 3
+D 5
+U 13
+L 8
+U 1
+D 13
+R 11
+L 2
+U 14
+R 15
+U 2
+D 7
+R 15
+L 5
+D 9
+U 8
+R 5
+L 15
+D 3
+R 10
+D 10
+U 7
+D 7
+U 14
+R 2
+U 8
+R 14
+L 11
+R 16
+U 11
+D 16
+U 2
+L 10
+U 5
+D 6
+L 7
+U 8
+D 10
+R 11
+L 7
+D 5
+U 6
+L 5
+D 5
+R 1
+L 7
+U 9
+L 5
+U 3
+D 7
+R 14
+U 9
+D 6
+L 13
+U 8
+L 5
+D 5
+R 3
+U 7
+D 6
+U 8
+R 16
+U 17
+L 5
+R 8
+L 8
+U 8
+L 10
+D 17
+R 5
+D 3
+L 17
+R 17
+D 4
+R 15
+D 6
+L 3
+R 17
+D 9
+L 13
+U 4
+D 2
+L 17
+R 1
+L 14
+D 17
+L 9
+R 12
+U 14
+D 12
+U 3
+R 7
+D 1
+L 13
+R 13
+U 16
+D 13
+U 15
+R 15
+U 4
+D 11
+L 7
+U 1
+D 14
+U 8
+L 11
+D 13
+L 12
+U 17
+L 13
+U 2
+R 10
+L 12
+R 12
+U 1
+R 8
+U 10
+D 15
+R 3
+U 4
+R 12
+L 9
+D 15
+L 13
+D 15
+L 7
+D 8
+L 7
+U 6
+L 17
+R 4
+D 10
+U 11
+L 8
+R 14
+U 9
+R 9
+L 6
+U 1
+L 5
+D 11
+R 10
+L 16
+U 15
+L 12
+R 13
+D 5
+L 4
+D 12
+L 6
+R 3
+D 12
+L 4
+U 2
+L 16
+D 6
+R 15
+U 7
+D 2
+L 14
+D 6
+R 14
+D 7
+U 11
+R 4
+D 3
+R 6
+L 3
+D 11
+U 2
+R 5
+U 3
+L 1
+U 7
+R 13
+U 12
+D 12
+R 13
+D 7
+L 12
+D 10
+U 14
+R 12
+D 4
+R 2
+U 16
+D 9
+L 14
+U 14
+D 8
+L 7
+R 7
+D 18
+U 18
+R 8
+L 15
+U 12
+D 11
+L 16
+D 18
+R 14
+L 5
+R 12
+D 11
+R 13
+L 17
+D 4
+L 10
+U 1
+L 8
+U 10
+R 13
+D 2
+L 14
+D 1
+R 5
+L 4
+R 11
+L 7
+D 2
+R 8
+L 13
+R 5
+L 5
+R 11
+U 15
+D 3
+U 2
+R 6
+U 1
+R 8
+L 5
+U 1
+R 9
+D 13
+R 8
+U 17
+L 16
+U 3
+L 9
+D 9
+U 6
+L 8
+R 13
+L 7
+R 16
+U 6
+L 13
+U 18
+L 17
+D 15
+R 5
+U 6
+D 11
+U 15
+L 4
+R 14
+U 9
+R 11
+U 9
+L 11
+D 7
+U 9
+L 10
+D 4
+R 7
+U 7
+D 8
+R 1
+D 12
+R 16
+U 7
+R 9
+D 10
+R 1
+L 1
+U 16
+L 4
+U 11
+D 1
+U 3
+R 17
+U 17
+L 12
+R 9
+U 14
+D 4
+L 6
+R 4
+L 15
+U 1
+D 2
+U 9
+R 16
+L 1
+R 2
+L 12
+U 12
+D 7
+R 13
+D 6
+L 2
+D 3
+U 8
+L 7
+U 16
+L 15
+D 18
+L 19
+U 7
+R 17
+D 7
+U 3
+R 12
+D 1
+L 17
+U 19
+D 15
+R 3
+D 5
+U 17
+D 16
+U 2
+R 13
+D 7
+U 19
+L 5
+R 3
+D 15
+L 12
+D 19
+L 19
+U 1
+R 10
+D 14
+U 3
+R 1
+L 6
+U 14
+L 11
+R 10
+L 7
+R 14
+D 9
+U 14
+R 5
+L 19
+U 10
+L 12
+U 10
+L 3
+D 13
+U 12
+R 12
+D 6
+L 2
+U 1
+D 16
+U 9
+L 7
+R 14
+L 15
+U 9
+L 19
+U 14
+D 9
+U 15
+L 13
+U 12
+L 1
+D 7
+U 7
+L 7
+R 2
+U 16
+R 6
+D 11
+U 7
+D 11
+U 19
+R 13
+D 7
+R 7
+L 6
+R 14
+L 18
+D 2
+L 5
+D 8
+L 7
+U 17
+D 15
+U 19
diff --git a/2022/09/solve.py b/2022/09/solve.py
new file mode 100644
index 0000000..a4b3c3f
--- /dev/null
+++ b/2022/09/solve.py
@@ -0,0 +1,32 @@
+data = [dat.split(" ") for dat in open("input").readlines() if dat != '']
+
+def solve(n):
+ knots = [[0,0] for i in range(n)]
+ tails = set()
+ for line in data:
+ direction = line[0]
+ amount = int(line[1])
+
+ for i in range(amount):
+ head = knots[0]
+ head[0 if direction == "U" or direction == "D" else 1] += 1 if direction == "R" or direction == "U" else -1
+
+ for knot in range(len(knots)-1):
+ head, tail = knots[knot], knots[knot + 1]
+ xd, yd = head[0]-tail[0], head[1]-tail[1]
+
+ if abs(yd) > 1:
+ tail[1] += 1 if yd > 0 else -1
+ if abs(xd) > 0:
+ tail[0] += 1 if xd > 0 else -1
+ elif abs(xd) > 1:
+ tail[0] += 1 if xd > 0 else -1
+ if abs(yd) > 0:
+ tail[1] += 1 if yd > 0 else -1
+
+ tails.add(tuple(tail))
+
+ return len(tails)
+
+print(f"Part 1: {solve(2)}")
+print(f"Part 2: {solve(10)}")