summaryrefslogtreecommitdiff
path: root/2022/Cpp/Day9
diff options
context:
space:
mode:
Diffstat (limited to '2022/Cpp/Day9')
-rwxr-xr-x2022/Cpp/Day9/Makefile9
-rwxr-xr-x2022/Cpp/Day9/input.prod2000
-rwxr-xr-x2022/Cpp/Day9/input.test0
-rwxr-xr-x2022/Cpp/Day9/main.cpp89
-rwxr-xr-x2022/Cpp/Day9/puzzle.md272
5 files changed, 2370 insertions, 0 deletions
diff --git a/2022/Cpp/Day9/Makefile b/2022/Cpp/Day9/Makefile
new file mode 100755
index 0000000..ba32890
--- /dev/null
+++ b/2022/Cpp/Day9/Makefile
@@ -0,0 +1,9 @@
+all:
+ @g++ main.cpp -o ans.o
+
+test:
+ ./ans.o < input.test
+
+prod:
+ ./ans.o < input.prod
+
diff --git a/2022/Cpp/Day9/input.prod b/2022/Cpp/Day9/input.prod
new file mode 100755
index 0000000..8a26ba3
--- /dev/null
+++ b/2022/Cpp/Day9/input.prod
@@ -0,0 +1,2000 @@
+L 2
+U 1
+L 2
+R 1
+L 1
+R 2
+U 1
+R 1
+U 1
+D 1
+L 2
+U 1
+L 1
+R 1
+L 1
+U 1
+L 1
+U 2
+D 1
+U 2
+L 1
+U 2
+R 1
+D 1
+U 2
+L 1
+U 2
+D 2
+R 1
+D 1
+L 2
+R 2
+L 1
+D 2
+R 2
+U 1
+D 2
+U 1
+R 2
+D 2
+L 2
+R 1
+D 1
+U 2
+D 1
+L 1
+R 2
+U 1
+D 1
+L 1
+U 2
+R 1
+L 2
+R 1
+U 2
+D 2
+L 2
+D 1
+U 2
+L 2
+R 2
+L 2
+D 2
+L 2
+U 1
+R 1
+L 2
+R 1
+U 2
+L 1
+D 2
+L 1
+R 2
+D 1
+R 1
+L 1
+R 2
+U 2
+L 1
+U 2
+D 1
+L 1
+U 1
+D 2
+U 1
+D 1
+R 2
+U 2
+R 1
+L 1
+R 2
+L 2
+R 1
+L 2
+D 2
+R 2
+L 1
+U 2
+L 1
+R 2
+L 1
+U 2
+D 2
+L 2
+D 2
+R 1
+U 2
+L 2
+D 2
+U 1
+D 2
+R 1
+D 1
+R 2
+L 2
+R 1
+L 3
+R 1
+D 2
+L 1
+D 2
+L 2
+U 1
+D 1
+R 2
+L 2
+R 1
+D 1
+U 1
+R 1
+D 1
+L 2
+R 1
+U 2
+R 2
+D 2
+R 2
+D 3
+U 1
+L 3
+R 2
+L 2
+R 3
+U 2
+D 2
+U 2
+L 2
+U 3
+D 1
+L 1
+D 2
+U 3
+L 3
+D 2
+R 1
+U 1
+L 2
+D 2
+R 2
+U 3
+L 2
+U 2
+D 2
+R 2
+L 1
+D 1
+L 2
+D 1
+L 3
+U 2
+L 1
+U 2
+R 3
+D 2
+U 2
+R 3
+U 2
+L 3
+D 1
+U 1
+D 1
+U 2
+D 1
+L 3
+U 2
+D 1
+R 2
+U 2
+D 1
+R 1
+U 3
+L 2
+D 2
+L 3
+D 3
+L 2
+D 2
+L 2
+D 3
+R 3
+U 2
+L 3
+R 3
+L 2
+R 1
+L 2
+U 3
+R 1
+L 3
+D 3
+R 1
+L 1
+D 1
+R 2
+U 3
+L 3
+D 2
+R 3
+D 3
+L 3
+U 3
+R 2
+L 1
+R 1
+U 2
+L 1
+U 2
+D 2
+L 4
+U 1
+L 1
+R 3
+D 1
+U 3
+D 4
+U 3
+L 4
+D 2
+R 1
+D 1
+L 3
+U 3
+L 1
+R 4
+U 4
+R 4
+U 3
+L 4
+U 3
+L 2
+R 2
+D 2
+U 4
+L 2
+R 3
+L 1
+R 4
+U 3
+D 1
+L 4
+U 1
+L 1
+U 4
+R 3
+U 1
+D 4
+U 1
+D 2
+L 1
+U 2
+R 4
+L 3
+R 2
+D 2
+U 3
+D 2
+U 1
+D 3
+U 1
+R 3
+L 3
+U 2
+D 4
+U 1
+L 2
+R 1
+L 4
+R 2
+D 3
+L 1
+D 1
+U 2
+L 4
+U 4
+L 3
+R 2
+L 2
+D 1
+U 4
+L 1
+R 1
+U 3
+L 3
+D 4
+R 2
+L 1
+R 4
+D 1
+L 2
+D 1
+U 2
+L 3
+U 4
+L 1
+R 3
+L 2
+U 1
+L 3
+U 2
+D 3
+L 4
+D 3
+L 1
+R 4
+D 1
+L 4
+R 4
+U 1
+R 2
+L 3
+D 1
+R 4
+U 1
+L 1
+D 3
+L 3
+U 2
+L 1
+U 4
+D 4
+U 2
+D 3
+R 2
+L 2
+D 1
+R 2
+L 1
+D 2
+U 2
+D 4
+U 3
+R 2
+L 4
+R 3
+D 1
+U 5
+L 5
+R 2
+D 3
+L 5
+D 5
+U 2
+R 3
+L 2
+R 4
+L 1
+U 4
+R 5
+D 5
+U 4
+D 2
+L 4
+R 5
+D 4
+L 5
+U 2
+L 1
+D 2
+R 2
+D 1
+R 3
+U 3
+R 1
+L 1
+R 5
+L 2
+R 1
+L 2
+U 5
+R 5
+D 4
+L 2
+D 4
+R 4
+U 4
+D 3
+U 3
+D 1
+R 4
+D 1
+U 3
+L 2
+U 2
+R 1
+D 1
+R 4
+U 1
+R 5
+L 3
+D 4
+L 2
+D 4
+L 2
+D 4
+U 3
+D 4
+R 3
+U 1
+L 3
+U 3
+R 5
+L 1
+U 4
+R 2
+L 5
+U 3
+D 3
+U 3
+D 2
+R 5
+U 5
+R 2
+U 5
+L 5
+D 4
+U 2
+L 2
+U 3
+D 2
+L 3
+D 2
+U 5
+L 3
+R 3
+U 3
+D 5
+R 3
+U 6
+D 4
+L 2
+D 4
+L 4
+U 6
+R 4
+D 4
+U 5
+D 6
+U 4
+D 5
+R 6
+D 2
+R 5
+D 5
+L 2
+R 5
+U 1
+L 6
+D 4
+L 6
+U 3
+D 6
+R 6
+L 3
+U 5
+L 3
+U 6
+D 1
+R 4
+L 1
+D 2
+R 2
+U 4
+R 4
+D 5
+L 5
+D 6
+R 5
+D 1
+L 3
+U 6
+D 3
+R 6
+D 1
+L 6
+U 1
+R 3
+U 1
+R 4
+U 5
+L 1
+R 1
+U 3
+L 6
+D 1
+L 3
+R 2
+D 5
+U 2
+L 6
+U 6
+L 1
+U 6
+L 3
+U 1
+D 2
+L 6
+R 6
+D 4
+R 3
+U 3
+R 4
+U 5
+L 3
+D 5
+R 3
+L 5
+U 1
+R 4
+L 1
+D 4
+U 6
+L 4
+D 6
+U 4
+L 6
+U 3
+R 6
+L 2
+U 5
+L 3
+D 1
+U 2
+D 4
+U 2
+L 2
+U 1
+L 1
+U 5
+R 1
+U 3
+R 5
+L 1
+R 3
+L 2
+D 1
+R 2
+D 3
+U 4
+D 3
+U 4
+D 2
+R 5
+U 1
+R 2
+D 3
+R 2
+U 4
+D 4
+R 4
+U 5
+D 5
+U 1
+D 2
+L 2
+R 6
+U 5
+D 1
+R 2
+L 1
+U 4
+D 7
+U 4
+R 3
+U 7
+L 2
+R 3
+L 4
+D 4
+U 5
+R 2
+L 5
+R 3
+U 7
+L 2
+D 5
+U 2
+D 4
+L 7
+R 7
+U 1
+D 6
+U 4
+L 6
+R 4
+D 4
+U 1
+D 2
+R 1
+L 2
+U 4
+R 4
+U 3
+D 2
+U 5
+R 4
+U 5
+D 7
+R 4
+U 3
+L 3
+D 4
+L 1
+R 5
+L 5
+R 5
+U 1
+R 6
+D 4
+U 6
+R 5
+D 5
+L 4
+R 3
+U 3
+L 5
+R 1
+L 1
+D 6
+L 3
+D 1
+U 3
+D 7
+L 1
+R 5
+D 4
+L 7
+R 3
+D 7
+L 5
+D 2
+R 2
+U 4
+D 3
+U 4
+D 6
+R 2
+L 2
+D 6
+U 7
+D 6
+U 3
+D 3
+R 3
+L 7
+R 7
+U 3
+R 8
+U 6
+R 5
+D 2
+L 4
+U 3
+L 4
+D 4
+R 4
+U 8
+D 4
+R 3
+D 5
+L 4
+D 2
+U 3
+D 4
+R 1
+U 3
+R 5
+D 4
+R 7
+D 5
+L 4
+U 2
+R 5
+D 4
+U 8
+D 4
+L 8
+U 6
+L 3
+R 3
+D 8
+L 2
+D 6
+R 3
+U 8
+D 8
+U 5
+D 1
+L 1
+U 7
+D 5
+U 7
+R 5
+U 2
+L 1
+D 7
+L 3
+D 6
+L 2
+R 6
+L 1
+R 8
+L 2
+U 6
+L 2
+D 7
+L 5
+U 8
+D 1
+U 4
+D 8
+U 5
+L 8
+R 4
+D 6
+U 7
+L 6
+U 1
+R 2
+D 3
+R 5
+D 7
+L 5
+R 1
+L 5
+D 4
+R 3
+D 7
+R 2
+D 7
+U 8
+R 7
+L 7
+D 2
+R 7
+U 6
+R 1
+U 1
+R 8
+L 2
+D 8
+L 7
+D 3
+L 1
+R 1
+D 7
+R 2
+L 3
+D 8
+L 2
+U 5
+D 5
+R 1
+D 4
+U 2
+D 5
+L 1
+D 1
+R 5
+D 8
+U 2
+D 7
+U 3
+L 9
+D 1
+U 2
+R 8
+U 5
+D 3
+U 8
+R 6
+L 5
+U 3
+L 9
+D 1
+R 7
+U 1
+D 4
+R 6
+D 7
+L 8
+R 5
+U 4
+L 5
+D 2
+R 4
+L 9
+D 1
+U 5
+R 1
+D 4
+R 7
+U 8
+R 3
+U 4
+L 9
+D 9
+R 6
+L 2
+D 7
+U 3
+L 6
+R 5
+U 1
+R 1
+D 6
+L 9
+U 2
+D 4
+L 3
+D 7
+L 5
+R 7
+L 4
+R 7
+L 9
+U 8
+R 6
+L 1
+U 7
+D 6
+R 2
+L 7
+D 7
+R 4
+U 5
+R 1
+L 9
+R 2
+D 2
+U 3
+R 8
+U 6
+L 8
+D 3
+L 7
+R 9
+L 5
+U 4
+R 9
+U 3
+L 8
+R 9
+D 3
+L 2
+R 3
+D 8
+R 6
+D 7
+R 6
+U 8
+L 4
+U 7
+R 1
+L 3
+D 8
+U 1
+L 9
+D 5
+L 5
+U 8
+R 9
+L 2
+U 5
+D 2
+U 3
+L 8
+R 9
+L 7
+R 4
+L 7
+R 10
+U 9
+D 8
+U 8
+R 1
+U 2
+D 6
+U 9
+L 4
+D 5
+U 9
+D 8
+R 5
+U 5
+D 3
+U 5
+R 2
+D 1
+U 4
+L 7
+R 6
+D 9
+L 9
+D 4
+L 4
+D 2
+L 3
+R 8
+L 1
+D 8
+R 2
+U 2
+D 3
+R 9
+L 5
+U 3
+L 10
+U 2
+D 7
+R 9
+L 7
+D 4
+L 10
+R 7
+L 4
+D 3
+R 8
+D 1
+R 6
+L 1
+U 1
+R 6
+U 8
+L 5
+R 7
+D 9
+L 1
+D 9
+R 4
+D 5
+R 7
+D 4
+U 10
+R 2
+L 1
+U 9
+D 1
+U 7
+R 10
+U 9
+R 5
+L 3
+U 5
+R 4
+D 6
+R 5
+L 4
+U 2
+L 1
+D 5
+U 7
+D 6
+R 8
+U 8
+D 8
+R 9
+D 7
+R 2
+U 10
+R 6
+L 10
+R 10
+U 8
+D 9
+R 9
+D 4
+R 1
+L 5
+U 2
+D 4
+R 4
+D 2
+L 9
+U 10
+D 3
+R 10
+L 8
+U 8
+R 2
+L 11
+U 6
+L 11
+U 7
+L 8
+D 8
+L 2
+R 7
+L 10
+R 10
+D 5
+L 7
+D 9
+L 7
+R 3
+U 11
+L 1
+U 11
+R 5
+D 2
+L 1
+D 1
+L 9
+R 6
+U 6
+L 8
+R 2
+D 7
+U 3
+L 7
+D 7
+L 1
+U 2
+L 4
+D 9
+R 6
+D 4
+R 2
+L 10
+R 8
+L 10
+U 2
+R 11
+L 11
+R 4
+U 3
+D 11
+R 10
+D 11
+L 1
+U 10
+R 10
+U 1
+L 3
+U 8
+D 6
+L 9
+R 7
+U 1
+R 5
+L 4
+D 5
+L 11
+D 3
+L 7
+D 3
+U 4
+D 6
+R 8
+U 2
+L 4
+R 8
+L 9
+R 10
+U 5
+L 6
+U 8
+R 5
+U 11
+R 5
+D 9
+R 6
+U 4
+L 2
+R 7
+L 5
+R 5
+U 4
+L 3
+R 2
+L 6
+D 7
+U 6
+D 8
+U 11
+D 2
+U 4
+R 4
+D 11
+L 6
+R 6
+D 5
+U 9
+D 1
+U 8
+D 9
+R 8
+D 11
+U 11
+R 2
+U 3
+R 11
+L 6
+U 3
+R 5
+L 12
+R 5
+L 4
+D 11
+U 10
+R 11
+U 8
+L 7
+R 10
+L 11
+R 2
+L 5
+R 12
+L 6
+R 7
+L 12
+D 5
+L 6
+U 9
+R 12
+U 12
+R 7
+D 5
+R 2
+D 7
+U 9
+R 11
+U 3
+L 8
+U 10
+L 4
+R 4
+D 3
+U 2
+R 10
+U 7
+D 7
+R 6
+U 11
+D 2
+L 7
+R 9
+D 12
+L 5
+U 2
+R 3
+U 3
+R 1
+L 7
+R 8
+D 12
+R 6
+U 12
+R 11
+D 12
+R 4
+D 8
+U 6
+D 1
+R 6
+U 2
+D 5
+U 7
+L 6
+D 5
+R 5
+L 6
+U 4
+D 12
+R 11
+L 3
+R 7
+L 5
+R 7
+U 9
+R 7
+D 1
+R 12
+L 5
+U 1
+R 12
+L 6
+D 1
+R 9
+L 5
+R 7
+D 11
+L 9
+R 6
+U 2
+R 6
+U 1
+R 10
+L 11
+U 10
+R 11
+U 6
+L 1
+D 10
+U 9
+L 3
+U 12
+R 4
+U 1
+D 4
+R 3
+U 4
+D 3
+U 13
+D 12
+U 11
+L 8
+D 5
+R 7
+D 5
+L 11
+U 3
+R 12
+D 3
+R 1
+L 8
+D 11
+L 3
+R 12
+U 4
+R 6
+L 10
+D 5
+L 10
+D 13
+U 5
+L 3
+R 10
+L 7
+R 13
+L 10
+D 8
+L 8
+U 8
+D 9
+R 8
+D 2
+U 6
+D 3
+R 8
+D 6
+R 13
+U 10
+D 6
+L 3
+R 4
+U 11
+R 6
+D 4
+R 4
+U 1
+R 11
+D 7
+R 11
+D 3
+R 8
+L 5
+U 9
+D 9
+U 13
+L 2
+U 9
+L 7
+U 10
+R 12
+U 7
+L 6
+R 10
+L 12
+U 6
+L 4
+D 8
+R 2
+L 2
+R 7
+L 9
+R 1
+D 3
+U 7
+L 3
+R 1
+D 3
+R 5
+U 10
+D 13
+L 3
+D 8
+U 4
+R 13
+D 8
+U 3
+D 9
+L 3
+D 9
+U 6
+L 10
+R 8
+L 2
+U 4
+L 8
+D 1
+U 13
+L 5
+U 3
+D 9
+L 8
+U 10
+L 4
+R 13
+D 9
+R 6
+L 5
+U 13
+D 11
+R 3
+U 8
+D 1
+U 5
+L 1
+D 6
+R 1
+U 7
+D 5
+R 14
+U 7
+D 13
+L 9
+U 13
+L 7
+R 14
+L 2
+U 10
+R 9
+L 14
+R 8
+L 5
+U 7
+R 14
+U 8
+D 9
+R 14
+L 9
+D 7
+R 1
+D 1
+L 13
+R 13
+D 4
+R 11
+D 2
+R 3
+U 3
+R 11
+L 1
+R 8
+U 9
+L 2
+R 12
+U 3
+L 14
+D 3
+U 8
+R 13
+L 2
+R 8
+D 8
+U 14
+R 6
+U 1
+L 3
+D 9
+U 6
+R 10
+L 4
+D 8
+L 10
+U 11
+D 9
+U 13
+L 11
+R 8
+L 7
+R 7
+U 8
+D 7
+L 9
+R 11
+L 6
+R 9
+U 12
+L 9
+R 3
+U 1
+D 11
+U 1
+R 10
+D 9
+L 11
+D 4
+U 6
+L 12
+D 11
+R 2
+D 2
+L 14
+R 6
+D 5
+L 12
+R 6
+D 6
+R 13
+U 5
+D 12
+U 8
+D 11
+R 6
+L 11
+U 4
+L 11
+U 12
+L 7
+D 7
+R 2
+U 11
+L 4
+U 9
+R 6
+D 4
+U 7
+R 1
+L 13
+D 1
+U 7
+L 1
+R 5
+U 10
+L 11
+D 4
+U 15
+L 5
+D 14
+U 8
+D 13
+R 2
+U 13
+D 1
+R 3
+U 2
+L 6
+D 1
+U 9
+D 9
+U 4
+D 5
+U 8
+D 13
+L 4
+U 12
+L 9
+R 9
+L 7
+U 8
+L 7
+R 4
+L 5
+U 6
+R 8
+U 13
+D 7
+L 8
+R 5
+D 6
+U 14
+L 10
+R 14
+L 13
+U 10
+D 6
+R 2
+U 14
+L 9
+R 4
+U 14
+R 7
+D 1
+U 5
+L 5
+D 4
+L 2
+U 11
+L 5
+D 12
+L 1
+D 14
+L 10
+R 14
+D 12
+L 10
+U 2
+D 13
+L 15
+U 1
+R 15
+D 14
+R 2
+U 7
+L 5
+U 15
+L 15
+D 9
+L 1
+D 13
+U 3
+R 15
+L 6
+D 10
+L 4
+U 10
+R 14
+L 8
+U 7
+D 10
+U 1
+R 7
+L 14
+R 5
+L 9
+D 15
+L 14
+R 14
+L 7
+R 6
+L 3
+D 13
+L 5
+D 10
+R 9
+L 2
+D 16
+U 9
+L 14
+R 2
+D 2
+R 1
+L 1
+U 7
+D 12
+R 4
+U 15
+R 7
+U 14
+R 2
+D 3
+R 6
+L 9
+U 8
+R 7
+L 8
+D 6
+R 13
+D 10
+L 9
+D 1
+U 14
+L 8
+R 3
+L 14
+R 2
+D 13
+L 1
+R 15
+U 5
+D 4
+R 9
+D 9
+L 3
+D 12
+R 4
+U 8
+L 6
+D 10
+L 6
+R 12
+D 14
+U 5
+D 13
+R 13
+U 11
+D 10
+R 16
+L 3
+U 10
+D 8
+L 1
+U 8
+D 4
+L 6
+R 12
+D 7
+L 5
+U 11
+R 5
+D 7
+L 2
+U 9
+L 8
+R 14
+D 5
+R 6
+U 10
+D 16
+U 4
+R 11
+U 3
+R 4
+U 5
+L 11
+R 12
+U 9
+R 9
+D 12
+R 8
+D 9
+L 5
+D 5
+U 11
+L 16
+U 2
+L 5
+R 10
+U 13
+R 10
+L 3
+D 3
+U 2
+L 14
+D 15
+L 8
+D 1
+L 10
+R 6
+L 5
+U 6
+R 14
+U 11
+R 16
+L 1
+R 16
+L 10
+U 9
+D 2
+L 2
+U 15
+L 3
+D 11
+L 16
+U 9
+D 17
+U 4
+D 14
+U 4
+L 5
+R 14
+L 2
+U 13
+D 1
+U 6
+R 3
+U 7
+D 12
+L 11
+U 6
+L 5
+D 16
+R 11
+L 2
+R 15
+D 3
+U 11
+R 2
+D 6
+R 16
+L 9
+R 4
+L 8
+D 4
+L 3
+D 15
+U 10
+D 4
+U 8
+R 2
+U 16
+L 9
+D 5
+R 8
+D 11
+R 13
+U 11
+D 2
+R 16
+D 10
+L 11
+U 6
+L 13
+D 10
+L 10
+R 13
+U 5
+R 10
+D 2
+R 2
+D 14
+L 15
+R 15
+D 1
+L 2
+U 17
+L 12
+R 9
+D 10
+L 2
+D 12
+R 8
+U 1
+L 6
+U 14
+L 15
+U 13
+L 15
+D 3
+U 8
+R 14
+U 3
+L 12
+R 5
+L 12
+R 12
+U 6
+D 10
+U 4
+D 11
+U 1
+D 17
+U 5
+D 8
+U 9
+R 9
+L 6
+R 10
+U 1
+D 3
+R 1
+D 4
+L 16
+D 16
+U 3
+L 17
+D 8
+R 15
+D 9
+R 7
+D 8
+R 17
+L 13
+U 16
+D 2
+L 1
+R 3
+D 11
+R 15
+L 10
+R 9
+U 1
+R 11
+L 15
+U 2
+R 12
+U 18
+R 18
+D 4
+U 7
+D 13
+U 18
+D 14
+U 7
+D 2
+L 1
+R 1
+U 4
+L 13
+R 4
+U 13
+L 16
+D 12
+R 4
+U 9
+D 11
+R 4
+L 16
+D 4
+L 8
+D 3
+R 9
+U 15
+R 3
+L 9
+U 2
+R 15
+L 5
+R 3
+D 17
+U 17
+R 11
+L 13
+U 8
+D 11
+L 12
+U 1
+D 5
+U 12
+D 2
+R 13
+D 6
+R 5
+D 10
+U 15
+R 7
+L 4
+R 8
+D 10
+U 17
+L 12
+U 14
+L 9
+D 18
+R 11
+U 13
+D 9
+L 1
+D 9
+U 6
+R 15
+L 1
+U 4
+D 13
+R 18
+U 3
+L 2
+U 18
+R 17
+L 14
+U 12
+R 7
+L 11
+D 3
+U 17
+D 9
+R 13
+L 18
+D 15
+R 16
+U 16
+L 12
+D 16
+R 18
+L 13
+D 8
+U 16
+D 2
+U 17
+D 4
+L 12
+U 3
+D 2
+R 3
+L 14
+D 7
+L 6
+U 5
+L 19
+R 19
+L 7
+R 1
+D 2
+U 11
+L 7
+U 8
+L 4
+R 4
+L 12
+U 7
+R 3
+U 3
+L 2
+R 3
+D 9
+R 16
+U 4
+R 12
+L 10
+D 3
+U 17
+D 6
+U 14
+D 2
+L 19
+U 3
+R 19
+L 11
+U 13
+R 11
+D 14
+L 4
+D 11
+U 9
+L 8
+U 18
+L 17
+D 7
+U 7
+R 19
+L 8
+D 6
+R 7
+U 19
+D 7
+R 7
+L 16
+R 11
+L 2
+R 10
+U 6
+R 2
+U 8
+L 8
+D 3
+L 12
+D 16
+U 1
+D 12
+L 4
+D 16
+R 13
+L 12
+R 11
+U 8
+L 6
+D 6
+L 1
+U 5
+L 3
+R 6
+U 8
+R 5
+U 4
+D 14
+R 7
+U 2
+L 9
+U 8
+R 13
+U 1
+D 15
+R 18
+D 15
+R 14
+D 15
+R 8
+D 16
+U 6
+L 7
+D 10
+R 9
+L 12
+R 11
+L 3
+R 12
+D 8
+U 14
+L 18
diff --git a/2022/Cpp/Day9/input.test b/2022/Cpp/Day9/input.test
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/2022/Cpp/Day9/input.test
diff --git a/2022/Cpp/Day9/main.cpp b/2022/Cpp/Day9/main.cpp
new file mode 100755
index 0000000..b5b1ab4
--- /dev/null
+++ b/2022/Cpp/Day9/main.cpp
@@ -0,0 +1,89 @@
+#include<bits/stdc++.h>
+using namespace std;
+
+using ll = long long;
+using pi = pair<int, int>;
+using vpi = vector<pi>;
+using vi = vector<int>;
+using vll = vector<long long>;
+using mpii = map<int, int>;
+using mpll = map<ll, ll>;
+using db = long double;
+
+#define pb push_back
+#define all(x) (x).begin(), (x).end()
+#define rall(x) (x).rbegin(), (x).rend()
+#define lb lower_bound
+#define ub upper_bound
+
+const int MOD = (int)1e9 + 7;
+const db PI = acos((db)-1);
+const int dx[4]{1, 0, -1, 0};
+const int dy[4]{0, 1, 0, -1};
+
+//pretty printing
+template<typename K, typename V>
+void printm(const map<K, V> &mp) {
+ cerr << "{" << endl;
+ for (auto p : mp) {
+ cerr << " { " << p.first << " : " << p.second << " }\n";
+ }
+ cerr << "}" << endl;
+}
+template<typename T>
+void printv(const vector<T> &v) {
+ cerr << "[";
+ for (int i = 0; i < v.size(); i++) {
+ if (i == v.size() - 1) {
+ cerr << v[i];
+ } else {
+ cerr << v[i] << ", ";
+ }
+ }
+ cerr << "]\n";
+}
+
+template<typename T>
+void printvv(const vector<vector<T>> &v) {
+ cerr << "[\n";
+ for (auto &vec : v) {
+ cout << " ";
+ printv(vec);
+ }
+ cerr << "]\n";
+}
+void print() {
+ cerr << "\n";
+}
+
+template<typename T, typename... TS>
+void print(T val, TS... vals) {
+ cerr << val << " ";
+ print(vals...);
+}
+
+
+/* stuff you should look for:
+ ---------------------------
+ * special cases (n=1?)
+ * int overflow, array bounds
+ * do smth instead of nothing and stay organized
+ * WRITE ST