From 89224001bcdc6b2866c85cf975df23358e3c2376 Mon Sep 17 00:00:00 2001 From: Mark Hoekveen Date: Mon, 30 Sep 2024 16:36:11 +0200 Subject: [PATCH] 9-1 --- 9/input.txt | 2000 ++++++++++++++++++++++++++++++++++++++++++++++++++ 9/onestar.py | 41 ++ 2 files changed, 2041 insertions(+) create mode 100644 9/input.txt create mode 100644 9/onestar.py diff --git a/9/input.txt b/9/input.txt new file mode 100644 index 0000000..e543182 --- /dev/null +++ b/9/input.txt @@ -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 diff --git a/9/onestar.py b/9/onestar.py new file mode 100644 index 0000000..730541e --- /dev/null +++ b/9/onestar.py @@ -0,0 +1,41 @@ +seen = set() +head = (0,0) +tail = (0,0) + +direction = { + "R": (1, 0), + "L": (-1, 0), + "U": (0, 1), + "D": (0, -1) +} + +def moveTail(): + global tail + print(f"Calcing move for tail {tail} towards {head}") + if tail[0] == head[0] and abs(tail[1] - head[1]) > 1: + # Vertical move + tail = (tail[0], int((tail[1] + head[1]) / 2)) + elif tail[1] == head[1] and abs(tail[0] - head[0]) > 1: + tail = (int((tail[0] + head[0]) / 2), tail[1]) + elif abs(tail[0] - head[0]) <= 1 and abs(tail[1] - head[1]) <= 1: + # Touching diagonal, no action required + pass + else: + # Non-touching diagonal, step required + dir = (min(1, max(-1, head[0] - tail[0])), min(1, max(-1, head[1] - tail[1]))) + print(f"Moving in {dir}") + tail = (tail[0] + dir[0], tail[1] + dir[1]) + print(tail) + +with open("input.txt", "r") as f: + for line in f.readlines(): + line = line.strip() + [dir, steps] = line.split(" ") + for _ in range(int(steps)): + head = (head[0] + direction[dir][0], head[1] + direction[dir][1]) + print(dir, head) + seen.add(tail) + moveTail() +seen.add(tail) +print(seen) +print(len(seen)) \ No newline at end of file