From 77db9e7b4e0a96f56bd34133a43cca77a10e9d2a Mon Sep 17 00:00:00 2001 From: Philippe Zwietering Date: Wed, 14 Dec 2022 19:05:01 +0100 Subject: [PATCH] Day 8 aoc in progress, annoying bug with the walking --- advent_of_code/2022/9/input.txt | 2000 +++++++++++++++++++++++++++++++ advent_of_code/2022/9/main.cpp | 84 ++ advent_of_code/2022/9/test.txt | 8 + 3 files changed, 2092 insertions(+) create mode 100644 advent_of_code/2022/9/input.txt create mode 100644 advent_of_code/2022/9/main.cpp create mode 100644 advent_of_code/2022/9/test.txt diff --git a/advent_of_code/2022/9/input.txt b/advent_of_code/2022/9/input.txt new file mode 100644 index 0000000..4f934dc --- /dev/null +++ b/advent_of_code/2022/9/input.txt @@ -0,0 +1,2000 @@ +L 2 +U 2 +R 2 +L 1 +R 1 +U 1 +D 1 +L 1 +R 1 +D 2 +R 1 +U 2 +D 2 +L 2 +R 2 +U 1 +L 1 +D 2 +U 2 +L 1 +U 2 +L 2 +U 2 +L 2 +D 1 +U 2 +D 1 +R 1 +U 2 +R 2 +D 1 +R 1 +U 1 +R 2 +L 1 +R 1 +L 1 +D 1 +L 1 +D 2 +U 1 +L 2 +R 2 +U 1 +R 1 +L 1 +U 2 +D 1 +L 2 +D 2 +R 1 +L 2 +U 1 +R 1 +L 1 +R 2 +D 2 +R 2 +L 1 +R 1 +U 1 +L 2 +D 2 +L 2 +R 2 +U 2 +D 2 +L 1 +U 2 +D 2 +L 2 +D 1 +U 2 +D 2 +U 2 +R 2 +U 2 +D 2 +L 1 +R 2 +L 1 +U 1 +D 1 +R 1 +L 1 +U 1 +R 2 +L 1 +D 2 +R 1 +D 1 +R 2 +D 2 +L 2 +U 1 +R 1 +D 2 +L 1 +U 1 +D 1 +L 1 +D 2 +R 1 +D 1 +R 2 +D 2 +R 1 +L 1 +R 1 +D 1 +R 1 +U 1 +L 3 +D 3 +R 2 +U 3 +R 1 +D 3 +U 1 +R 3 +L 2 +U 3 +L 3 +D 2 +R 2 +L 3 +D 3 +U 1 +L 3 +D 1 +U 3 +L 3 +D 1 +R 2 +D 1 +R 1 +U 2 +R 2 +U 2 +R 1 +L 2 +R 2 +L 2 +D 1 +U 1 +R 3 +L 3 +D 1 +U 3 +L 1 +U 2 +R 1 +L 1 +R 2 +U 1 +R 3 +D 1 +L 3 +D 3 +L 3 +R 3 +D 1 +R 1 +L 2 +D 2 +R 3 +L 1 +D 1 +U 1 +D 1 +U 2 +R 3 +U 2 +D 3 +R 3 +D 2 +L 1 +R 1 +D 2 +R 1 +L 2 +D 2 +U 2 +L 1 +R 2 +U 1 +D 2 +R 2 +D 2 +L 2 +R 3 +D 1 +U 2 +L 2 +R 3 +D 3 +L 3 +U 3 +L 2 +D 1 +R 1 +L 3 +D 2 +R 2 +D 2 +L 1 +U 1 +R 2 +U 3 +D 1 +L 1 +R 1 +L 2 +U 2 +L 3 +U 2 +D 2 +U 1 +L 1 +R 1 +U 3 +D 3 +R 4 +L 4 +U 1 +D 2 +L 1 +D 4 +L 3 +D 1 +R 4 +U 2 +D 2 +L 1 +D 3 +L 3 +R 2 +L 2 +R 1 +L 3 +R 1 +L 2 +U 1 +L 2 +U 4 +D 4 +U 4 +L 4 +R 4 +D 3 +L 1 +R 3 +D 4 +R 1 +L 4 +R 4 +U 1 +R 3 +U 2 +D 4 +L 1 +U 3 +L 2 +R 2 +D 1 +L 1 +U 3 +L 2 +U 1 +D 1 +L 4 +D 4 +U 2 +D 4 +R 3 +U 1 +R 1 +D 3 +L 1 +D 2 +R 2 +D 3 +L 3 +U 4 +L 4 +R 1 +D 2 +L 3 +U 3 +D 1 +R 4 +L 4 +U 4 +R 3 +L 3 +D 3 +L 1 +D 1 +U 1 +L 3 +R 4 +L 3 +R 4 +L 1 +D 1 +R 4 +U 3 +D 4 +U 1 +D 3 +R 4 +U 2 +D 1 +L 3 +D 3 +L 1 +R 3 +U 2 +L 4 +D 4 +L 2 +D 4 +U 1 +L 3 +R 2 +D 2 +U 2 +D 2 +R 1 +U 3 +R 3 +U 4 +L 3 +R 2 +D 4 +U 3 +D 4 +R 5 +L 1 +D 3 +L 5 +R 3 +D 5 +U 3 +R 1 +U 3 +D 4 +R 1 +D 5 +R 3 +L 4 +D 2 +R 2 +U 2 +L 4 +U 3 +D 1 +L 2 +D 3 +U 2 +D 2 +R 4 +L 5 +U 1 +D 5 +R 2 +D 5 +R 3 +L 3 +R 4 +D 1 +L 5 +D 2 +U 2 +D 4 +U 4 +R 4 +L 2 +D 3 +L 3 +R 3 +L 4 +D 2 +U 1 +R 3 +L 3 +R 2 +L 5 +R 4 +D 2 +L 3 +R 2 +U 2 +R 4 +L 4 +R 1 +U 5 +D 5 +U 1 +R 4 +L 5 +R 5 +L 3 +R 1 +U 2 +L 4 +U 4 +L 5 +D 1 +U 5 +D 5 +U 2 +R 4 +U 3 +D 5 +R 1 +D 1 +L 5 +R 4 +L 4 +R 3 +D 3 +U 2 +R 5 +L 5 +U 5 +L 3 +D 2 +R 3 +L 4 +R 1 +L 3 +U 5 +L 2 +D 5 +R 5 +L 3 +D 3 +U 3 +L 5 +U 3 +R 1 +U 3 +L 5 +D 1 +U 4 +R 6 +U 1 +D 3 +U 1 +L 5 +R 1 +U 3 +D 3 +R 3 +U 5 +L 1 +R 2 +L 3 +U 5 +L 2 +R 6 +D 3 +U 3 +R 2 +U 5 +L 2 +U 5 +D 5 +R 1 +D 1 +U 6 +L 2 +D 2 +L 4 +R 5 +U 1 +D 3 +R 4 +D 1 +U 6 +R 4 +D 4 +U 6 +R 5 +L 5 +D 6 +R 6 +U 2 +L 2 +D 3 +R 6 +U 5 +L 5 +R 6 +L 3 +D 5 +U 2 +L 3 +U 4 +D 2 +U 5 +R 6 +D 3 +U 4 +L 2 +U 5 +L 6 +R 6 +D 5 +R 4 +D 3 +L 1 +D 4 +R 6 +L 4 +R 3 +U 5 +R 6 +U 1 +D 3 +L 4 +D 2 +U 6 +L 4 +D 6 +L 4 +D 5 +L 6 +D 1 +U 5 +R 5 +L 5 +R 4 +D 2 +R 2 +U 3 +D 2 +R 2 +D 2 +R 6 +U 6 +L 4 +U 6 +R 5 +D 5 +U 2 +R 4 +L 4 +D 2 +R 1 +D 4 +U 5 +R 4 +D 1 +U 2 +L 1 +R 1 +U 4 +R 3 +L 6 +D 5 +L 6 +R 1 +D 3 +U 4 +D 3 +L 2 +D 7 +U 2 +D 7 +U 4 +L 3 +R 6 +D 1 +L 6 +R 3 +L 6 +U 7 +R 2 +D 3 +L 3 +U 1 +L 4 +U 1 +L 1 +D 3 +R 1 +D 5 +L 3 +R 1 +D 4 +U 1 +R 4 +D 7 +U 7 +D 1 +R 7 +D 3 +R 2 +D 1 +U 6 +R 4 +U 7 +D 1 +U 2 +L 5 +R 2 +U 5 +L 1 +U 5 +D 6 +R 5 +D 4 +R 6 +U 3 +L 2 +D 6 +R 1 +D 1 +U 3 +L 2 +U 2 +L 5 +D 5 +L 7 +D 6 +R 3 +D 6 +U 6 +L 7 +U 4 +L 7 +D 7 +L 7 +U 5 +R 3 +L 5 +D 4 +R 3 +D 4 +U 7 +L 7 +D 6 +U 1 +R 5 +L 4 +R 5 +D 7 +R 4 +L 5 +U 5 +R 3 +U 6 +D 4 +U 7 +R 7 +D 1 +R 6 +U 6 +D 3 +L 1 +R 1 +U 5 +R 2 +L 6 +U 2 +R 8 +U 3 +R 3 +L 8 +R 4 +U 4 +L 4 +R 2 +L 2 +U 1 +D 2 +U 6 +L 1 +R 6 +U 2 +R 1 +D 2 +R 8 +D 6 +R 3 +L 1 +D 6 +R 3 +U 3 +L 3 +R 1 +D 4 +R 3 +D 8 +U 4 +L 1 +D 7 +L 2 +R 6 +U 2 +L 6 +U 7 +D 4 +R 2 +L 5 +R 3 +L 1 +U 2 +L 8 +R 8 +U 2 +R 8 +L 1 +U 8 +L 1 +D 4 +R 5 +U 1 +R 5 +L 8 +D 8 +R 4 +L 7 +U 3 +D 8 +L 7 +R 7 +L 8 +D 2 +U 2 +D 8 +L 1 +R 3 +L 7 +D 4 +R 5 +L 4 +R 7 +U 5 +L 7 +U 4 +R 4 +U 5 +R 3 +D 7 +U 7 +R 8 +L 7 +U 4 +D 2 +R 1 +D 8 +U 4 +D 7 +R 1 +D 4 +L 6 +U 1 +L 8 +D 1 +R 7 +L 2 +U 7 +R 7 +L 4 +U 6 +L 5 +D 3 +R 3 +L 1 +R 2 +U 3 +D 3 +R 5 +U 6 +D 8 +L 7 +R 2 +L 6 +R 4 +L 4 +R 5 +L 8 +R 8 +U 7 +L 6 +R 9 +D 2 +L 2 +D 9 +U 3 +D 3 +L 1 +U 9 +D 7 +U 3 +D 8 +R 3 +U 3 +L 7 +D 9 +L 8 +U 8 +L 6 +R 7 +D 1 +U 1 +R 5 +L 3 +R 7 +U 8 +R 8 +D 5 +L 4 +R 5 +D 6 +L 7 +U 7 +R 9 +U 4 +R 5 +L 9 +R 7 +D 7 +U 3 +D 7 +L 3 +U 5 +D 2 +U 8 +D 1 +U 7 +R 7 +D 2 +U 8 +D 4 +R 7 +L 3 +U 3 +D 2 +R 9 +U 4 +D 4 +U 1 +L 4 +U 2 +D 7 +U 1 +L 4 +R 5 +L 3 +U 8 +R 4 +L 6 +U 6 +R 5 +U 3 +L 6 +D 7 +U 5 +R 2 +D 3 +L 6 +U 5 +L 7 +U 4 +R 6 +D 2 +L 1 +R 7 +L 1 +D 9 +L 6 +D 1 +R 1 +U 7 +R 4 +L 9 +D 9 +U 4 +D 8 +U 1 +L 8 +D 2 +U 9 +L 7 +R 10 +U 10 +L 10 +D 5 +R 9 +D 8 +L 1 +R 3 +L 7 +U 2 +L 1 +D 4 +R 5 +U 5 +D 1 +R 3 +D 3 +R 7 +U 2 +D 6 +U 6 +L 1 +D 7 +R 5 +L 9 +R 1 +U 7 +D 10 +U 3 +D 5 +U 8 +L 5 +R 8 +L 2 +R 9 +L 10 +R 9 +D 6 +U 1 +D 2 +L 7 +R 5 +L 6 +R 2 +D 9 +U 4 +L 8 +D 6 +L 10 +D 3 +U 8 +D 9 +U 5 +L 1 +U 9 +R 2 +D 5 +L 7 +U 4 +D 10 +U 6 +D 7 +U 6 +L 3 +D 2 +R 6 +L 10 +R 7 +U 4 +L 6 +D 1 +R 3 +D 8 +U 5 +L 7 +U 4 +L 6 +U 5 +L 3 +D 4 +U 4 +L 4 +D 6 +U 7 +L 10 +D 5 +L 7 +D 3 +U 3 +L 1 +D 3 +U 8 +D 2 +R 5 +U 7 +D 3 +L 5 +D 2 +L 2 +R 7 +L 10 +D 2 +U 2 +R 2 +D 9 +R 4 +L 4 +R 9 +D 8 +L 1 +U 8 +L 8 +R 4 +L 9 +U 11 +L 3 +R 4 +U 6 +L 11 +U 8 +R 4 +D 9 +R 5 +D 9 +U 11 +D 4 +R 1 +U 6 +L 8 +R 10 +D 11 +U 6 +D 4 +U 2 +D 7 +L 3 +R 5 +L 7 +R 5 +L 7 +D 2 +L 7 +U 9 +D 3 +L 6 +R 2 +U 6 +L 8 +R 10 +U 3 +R 7 +L 8 +U 1 +D 4 +L 1 +U 1 +D 6 +L 5 +U 4 +R 3 +U 7 +R 5 +U 11 +L 11 +R 11 +L 2 +R 3 +U 2 +R 10 +L 4 +U 8 +L 6 +R 8 +L 11 +U 6 +D 2 +L 7 +D 10 +R 3 +L 6 +R 8 +D 4 +U 7 +D 4 +R 1 +D 6 +R 11 +D 11 +R 9 +U 10 +R 7 +D 8 +U 4 +L 3 +R 9 +U 2 +D 3 +L 7 +R 10 +L 9 +D 11 +U 5 +L 10 +D 2 +R 10 +D 7 +U 4 +R 8 +D 9 +L 3 +R 4 +L 11 +D 4 +U 5 +R 7 +U 3 +R 9 +D 11 +R 1 +D 10 +R 2 +U 8 +L 7 +R 9 +U 9 +D 11 +R 6 +L 2 +D 4 +R 4 +D 6 +L 12 +D 11 +R 5 +U 1 +R 9 +L 9 +D 7 +L 1 +R 6 +L 4 +U 4 +R 10 +D 12 +R 1 +U 8 +D 8 +L 1 +U 12 +D 2 +R 7 +U 12 +L 10 +D 12 +R 6 +U 10 +D 8 +L 8 +U 1 +R 4 +L 7 +D 1 +L 7 +R 7 +U 4 +L 12 +U 6 +D 1 +U 8 +R 12 +L 11 +D 12 +R 3 +D 11 +U 2 +R 9 +D 11 +L 9 +R 1 +U 7 +D 9 +U 8 +L 8 +D 11 +R 9 +U 5 +D 6 +U 8 +D 6 +U 8 +D 11 +L 3 +D 4 +R 1 +U 6 +L 10 +U 11 +D 11 +U 5 +D 1 +R 3 +D 2 +L 4 +R 4 +D 10 +L 3 +D 12 +U 5 +R 1 +U 9 +D 1 +U 2 +R 7 +L 7 +U 8 +L 9 +D 4 +U 6 +R 9 +U 4 +L 11 +U 5 +L 6 +D 4 +U 8 +L 11 +U 2 +L 4 +U 1 +D 9 +R 2 +L 5 +D 8 +R 11 +U 7 +L 9 +D 2 +U 12 +R 13 +D 1 +L 10 +D 5 +R 9 +U 2 +L 10 +U 12 +R 4 +U 11 +D 4 +L 3 +U 12 +D 9 +R 9 +L 2 +D 5 +L 2 +U 6 +D 6 +L 1 +U 8 +R 9 +D 1 +L 11 +R 4 +D 4 +U 7 +R 9 +U 1 +L 5 +D 6 +U 2 +D 8 +U 6 +L 2 +D 11 +L 2 +D 11 +U 12 +D 6 +U 12 +R 13 +D 13 +L 6 +U 7 +L 1 +D 12 +U 9 +L 2 +U 13 +R 3 +U 8 +L 9 +D 13 +R 4 +U 4 +D 2 +L 7 +R 1 +D 1 +L 4 +R 12 +U 2 +D 12 +L 11 +U 10 +L 5 +U 9 +D 11 +R 7 +L 4 +D 10 +L 10 +U 5 +R 8 +L 5 +R 12 +L 9 +D 3 +U 11 +L 4 +R 8 +U 8 +R 9 +D 11 +U 10 +L 11 +U 4 +D 6 +R 3 +U 3 +R 13 +L 5 +D 9 +U 5 +R 1 +L 4 +D 9 +U 10 +R 8 +D 3 +L 7 +R 5 +U 2 +R 11 +U 12 +D 12 +R 3 +L 5 +D 13 +U 6 +R 5 +U 11 +D 12 +L 8 +U 14 +L 2 +R 4 +U 7 +R 9 +L 10 +U 4 +L 4 +R 12 +D 13 +R 6 +L 12 +D 6 +R 6 +D 9 +L 1 +U 8 +L 11 +D 2 +L 14 +R 10 +D 1 +U 8 +D 13 +L 3 +R 10 +U 4 +D 12 +R 12 +U 4 +D 2 +L 4 +U 6 +D 1 +U 7 +R 11 +U 7 +D 10 +R 6 +U 4 +D 2 +U 1 +L 2 +R 9 +D 3 +R 8 +D 12 +L 11 +U 2 +L 3 +U 5 +D 6 +L 14 +R 9 +L 14 +R 12 +U 12 +R 8 +L 13 +U 6 +L 10 +D 5 +U 14 +D 11 +L 11 +R 8 +L 6 +D 13 +R 5 +D 6 +L 7 +R 6 +D 8 +L 7 +D 9 +L 9 +U 8 +D 11 +L 7 +U 2 +D 9 +L 14 +R 3 +L 1 +D 9 +L 9 +R 1 +L 9 +U 6 +L 13 +D 7 +L 8 +D 2 +L 11 +U 8 +L 9 +U 7 +D 14 +L 11 +R 10 +D 1 +R 3 +D 9 +U 13 +D 3 +U 4 +R 2 +L 6 +U 11 +R 3 +L 9 +D 15 +R 12 +D 4 +L 14 +U 11 +L 2 +R 1 +L 10 +U 5 +R 11 +U 13 +R 13 +U 14 +D 2 +U 5 +D 14 +R 9 +D 8 +R 13 +L 1 +U 2 +R 7 +U 5 +L 8 +U 9 +R 3 +U 8 +R 9 +L 7 +R 15 +L 3 +D 12 +U 14 +R 12 +L 1 +R 9 +U 5 +R 4 +U 1 +D 4 +R 12 +L 2 +D 7 +U 2 +D 14 +U 2 +R 5 +D 12 +U 2 +D 5 +R 11 +L 5 +R 8 +D 10 +R 11 +L 12 +D 11 +L 6 +R 14 +D 2 +L 8 +R 6 +L 12 +R 13 +L 7 +R 4 +U 4 +D 15 +R 14 +D 5 +L 12 +U 7 +L 5 +D 5 +L 11 +U 10 +D 10 +L 13 +D 8 +R 10 +U 1 +L 6 +U 3 +L 12 +D 15 +U 12 +L 13 +U 7 +R 1 +L 13 +D 13 +U 2 +D 15 +U 2 +D 4 +L 7 +U 11 +R 9 +D 11 +L 9 +D 10 +U 9 +D 14 +R 8 +D 13 +U 16 +D 14 +R 13 +D 3 +L 9 +R 5 +D 2 +R 4 +D 14 +U 7 +D 5 +R 8 +L 14 +R 7 +U 4 +L 4 +R 15 +L 1 +U 12 +R 8 +L 4 +R 14 +L 13 +D 11 +U 3 +R 11 +D 11 +R 2 +D 10 +R 4 +D 8 +L 10 +R 3 +L 4 +R 16 +U 8 +D 9 +R 8 +D 15 +U 16 +R 15 +D 7 +R 10 +L 7 +R 2 +U 3 +R 16 +D 13 +L 10 +U 13 +D 8 +U 15 +D 3 +U 3 +L 16 +U 3 +R 11 +D 6 +R 12 +U 11 +R 2 +D 1 +U 3 +L 7 +U 9 +D 12 +R 13 +L 13 +U 5 +D 16 +L 14 +D 13 +U 15 +D 3 +U 15 +R 11 +D 16 +R 7 +D 2 +L 14 +R 8 +L 10 +R 3 +L 2 +U 2 +L 9 +D 5 +L 2 +D 12 +R 3 +U 7 +R 4 +U 2 +L 9 +R 13 +L 7 +U 16 +R 4 +D 1 +U 7 +R 3 +U 9 +L 6 +U 6 +D 7 +U 8 +D 16 +L 14 +U 16 +D 8 +U 6 +L 8 +D 2 +R 6 +U 14 +L 16 +R 7 +L 15 +U 15 +D 12 +R 2 +U 15 +R 8 +D 9 +R 6 +U 9 +D 1 +R 14 +U 7 +D 12 +R 7 +U 14 +R 16 +D 5 +R 11 +L 8 +U 4 +L 7 +D 8 +R 10 +D 9 +U 4 +L 5 +U 6 +D 17 +L 1 +U 16 +L 16 +R 14 +D 14 +U 3 +L 10 +D 3 +R 10 +U 2 +D 17 +R 12 +L 14 +D 10 +L 16 +U 14 +R 3 +L 17 +D 5 +U 14 +R 15 +D 5 +L 2 +R 6 +U 2 +L 5 +R 2 +L 10 +R 14 +L 16 +U 7 +L 5 +R 12 +L 13 +U 5 +L 13 +R 10 +L 12 +U 5 +R 15 +D 1 +U 12 +R 8 +D 12 +R 14 +U 7 +R 3 +L 15 +U 9 +D 10 +U 3 +R 17 +L 11 +D 4 +L 17 +R 5 +L 10 +R 3 +U 4 +L 3 +D 5 +R 1 +D 11 +L 9 +R 1 +L 9 +D 11 +L 1 +D 2 +U 6 +L 15 +U 1 +L 9 +D 11 +U 18 +D 16 +L 1 +R 1 +L 12 +U 3 +L 7 +R 14 +D 11 +R 9 +D 10 +L 7 +D 2 +L 10 +D 18 +R 13 +D 10 +R 16 +D 6 +U 8 +D 12 +R 6 +L 7 +D 16 +L 16 +U 11 +R 13 +D 12 +R 3 +D 2 +U 8 +L 9 +R 12 +L 11 +D 2 +L 17 +D 10 +U 12 +R 7 +D 15 +U 5 +L 10 +R 1 +U 13 +L 12 +R 7 +D 17 +U 5 +D 13 +U 13 +R 4 +U 14 +L 16 +R 18 +U 17 +L 16 +U 13 +R 5 +L 6 +U 6 +D 10 +R 6 +U 10 +L 8 +D 8 +L 3 +R 4 +U 17 +R 11 +D 14 +U 5 +L 17 +R 3 +U 6 +D 3 +R 11 +U 15 +D 4 +R 2 +D 9 +U 13 +L 12 +R 14 +L 17 +D 4 +U 14 +L 4 +U 11 +R 11 +L 6 +R 15 +L 18 +D 8 +U 2 +R 17 +D 10 +U 15 +D 18 +L 1 +D 6 +R 5 +D 14 +L 10 +D 16 +L 7 +D 15 +L 15 +D 15 +L 6 +U 4 +D 15 +U 17 +L 13 +R 10 +U 15 +D 16 +U 9 +R 9 +D 16 +R 12 +U 16 +D 11 +L 9 +R 5 +L 14 +R 1 +L 3 +D 4 +R 4 +D 5 +U 13 +D 14 +L 9 +U 4 +R 19 +D 3 +R 13 +U 17 +R 2 +D 13 +R 14 +L 18 +D 12 +L 5 +D 11 +U 19 +D 14 +U 2 +R 1 +U 18 +D 1 +L 9 +R 17 +U 10 +L 9 +D 15 +L 15 +U 15 +R 19 +D 17 +R 19 +D 9 +L 11 +U 16 +D 10 +U 6 +D 17 +R 3 +D 19 +R 13 +L 16 +R 2 +D 9 +R 3 +L 7 +R 18 +L 6 +U 5 +D 15 +L 5 +D 19 +R 6 +D 14 +U 16 +D 9 +L 18 +U 19 +L 10 +D 13 +R 18 +U 8 +L 5 +R 13 +U 15 +R 6 +D 12 +R 10 +D 5 +U 17 +R 9 +U 2 +D 14 +R 18 +D 3 +L 7 +D 5 +R 15 +U 2 +L 6 +R 5 +D 17 +L 19 +R 14 +U 13 +D 16 +U 1 +D 18 +L 14 +U 4 +R 8 +L 16 +D 15 +U 8 \ No newline at end of file diff --git a/advent_of_code/2022/9/main.cpp b/advent_of_code/2022/9/main.cpp new file mode 100644 index 0000000..cf119bb --- /dev/null +++ b/advent_of_code/2022/9/main.cpp @@ -0,0 +1,84 @@ +#include + +using namespace std; + +using Coords = pair; + +void moveTail(const Coords& head, Coords& tail){ + if(head.first - tail.first > 1){ + tail.first++; + } else if(head.first - tail.first < -1){ + tail.first--; + } + + if(head.second - tail.second > 1){ + tail.second++; + } else if(head.second - tail.second < -1){ + tail.second--; + } + // if(abs(head.first - tail.first) > 1 || abs(head.second - tail.second) > 1){ + // if(abs(head.first - tail.first) >= 1 && abs(head.second - tail.second) >= 1){ + // if(head.first > tail.first && head.second > tail.second){ + // tail.first++; + // tail.second++; + // } else if(head.first > tail.first && head.second < tail.second){ + // tail.first++; + // tail.second--; + // } else if(head.first < tail.first && head.second > tail.second){ + // tail.first--; + // tail.second++; + // } else{ + // tail.first--; + // tail.second--; + // } + // } else if(abs(head.first - tail.first > 1)){ + // if(head.first > tail.first){ + // tail.first++; + // } else{ + // tail.first--; + // } + // } else{ + // if(head.second > tail.second){ + // tail.second++; + // } else{ + // tail.second--; + // } + // } + // } +} + +int main(){ + ifstream input_file("test.txt"); + string line; + + Coords head(0, 0), tail(0, 0); + set visited_by_tail; + visited_by_tail.insert(tail); + + while(getline(input_file, line)){ + stringstream ss(line); + char direction; + int steps; + + ss >> direction >> steps; + + while(steps > 0){ + if(direction == 'R'){ + head.first++; + } else if(direction == 'L'){ + head.first--; + } else if(direction == 'U'){ + head.second++; + } else if(direction == 'D'){ + head.second--; + } + moveTail(head, tail); + visited_by_tail.insert(tail); + steps--; + } + } + + cout << "Number of positions visited by the tail: " << visited_by_tail.size() << endl; + + return 0; +} \ No newline at end of file diff --git a/advent_of_code/2022/9/test.txt b/advent_of_code/2022/9/test.txt new file mode 100644 index 0000000..cbea2b3 --- /dev/null +++ b/advent_of_code/2022/9/test.txt @@ -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