From fee1f44ee07c178e9d7642cc2b58be3abe2519a8 Mon Sep 17 00:00:00 2001 From: delta Date: Sat, 3 Dec 2022 20:29:09 +0100 Subject: [PATCH] Day 2 --- day2/init.lua | 40 + day2/input.txt | 2500 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 2540 insertions(+) create mode 100644 day2/init.lua create mode 100644 day2/input.txt diff --git a/day2/init.lua b/day2/init.lua new file mode 100644 index 0000000..f904235 --- /dev/null +++ b/day2/init.lua @@ -0,0 +1,40 @@ +local file = io.open("input.txt") +local round_line = file:read("*l") +local old_score = 0 +local new_score = 0 + +local old_possible_outcomes = { + ["B Z"] = 9, + ["A Y"] = 8, + ["C X"] = 7, + ["C Z"] = 6, + ["B Y"] = 5, + ["A X"] = 4, + ["A Z"] = 3, + ["C Y"] = 2, + ["B X"] = 1, +} + +local new_possible_outcomes = { + ["B Z"] = 9, + ["A Z"] = 8, + ["C Z"] = 7, + + ["B Y"] = 5, + ["A Y"] = 4, + ["C Y"] = 6, + + ["B X"] = 1, + ["A X"] = 3, + ["C X"] = 2, +} + +while round_line do + old_score = old_score + old_possible_outcomes[round_line] + new_score = new_score + new_possible_outcomes[round_line] + + round_line = file:read("*l") +end + +print(old_score) +print(new_score) diff --git a/day2/input.txt b/day2/input.txt new file mode 100644 index 0000000..d2d4534 --- /dev/null +++ b/day2/input.txt @@ -0,0 +1,2500 @@ +C Z +C Y +B X +A Z +C Z +B X +C Z +B Z +A Z +A Z +B Z +B X +C Z +C Z +A Z +B Y +B X +C Y +B X +B X +A Y +A Z +A Z +A Z +A Z +C Z +A Z +C Z +B X +A X +A Z +B Y +B X +A Z +B X +C Z +A Z +C Z +A Z +A Z +B X +C X +B X +A X +B X +A Z +A Z +B X +B Y +B Y +B Y +C Z +A Z +A Z +C X +B X +C Y +B X +C Z +A Z +C Z +B X +B X +B Z +B X +A Z +C Z +A Z +A Z +A Z +A Z +B X +C Z +C Y +A Z +A Z +A Z +A Z +C Z +A X +A Z +A Z +C Z +C Y +A Z +C Y +A Z +A Z +C Y +C Z +C Z +A Z +B Y +B X +B Y +C Z +A Z +A Z +A Z +B Z +C Z +A Z +B X +C Y +A Z +B X +A Z +B Z +A Z +B X +A Z +B Y +A Z +A Z +C Y +A Z +B Z +A Z +A Y +B Y +C Z +A Z +B X +C Z +C Z +B X +C Z +C Z +A Z +B X +C Z +C Z +A Z +C Y +A Z +A Z +B Y +C Y +A Z +B X +B Y +B X +B X +A Z +C Y +A Z +C Y +A Z +B Y +C Z +A Z +A Z +C Y +A Z +A Z +C Z +A Z +A Z +A Z +C Y +A Z +B X +C Z +A Z +C Z +B Z +C Z +A Z +C Y +B X +C Z +C Z +A Z +C Y +A Z +B Y +B X +A Z +C Y +C Z +B X +C X +B X +C Y +B X +B X +C Z +B X +A Z +C X +A Z +C Z +B X +C Y +A Z +A Z +C Z +C Y +A Z +A Z +A Z +B X +A Y +B X +C X +C Z +B X +C Z +C X +A Z +C Z +B Z +A X +A Z +C Y +A Z +C Z +C Z +B X +C Z +A X +C Y +C Z +C Z +C Z +B Y +C X +B X +A Z +B Y +A Z +A Z +C Y +A Z +B X +A Y +A Y +C Y +A Z +A Z +C Z +A Z +A Z +A Z +B Y +B X +B X +A Z +C X +C Y +A Z +C Z +A Z +A Z +A Z +A Z +A X +A Z +C Z +A Z +B Y +A Y +A Y +C Y +C Y +B X +B Y +A Z +A Z +C X +A Z +B X +C Y +A Y +A Y +A Z +C Y +C Z +B X +A Z +C Y +B X +C Z +A Z +B X +A Z +C Y +B X +C Z +A Z +A Z +A Y +A Z +A Z +C Y +C Z +A Z +B X +C Z +C Y +A Z +A Z +C Y +A Z +C Z +B X +A Z +C Z +A Z +A Z +A Z +C Y +C Y +B X +B Z +B X +A Z +B Y +B Y +A Z +A Z +A Z +B Y +B Y +C Y +A Y +A Z +C X +B X +A Y +B Y +C Y +A Z +B Z +C Y +C Z +B X +A Z +A X +B X +C Y +B Z +A Z +B Y +A Z +B X +A Z +B X +A Z +C X +C Y +C Z +B X +C Z +C Y +A Z +C X +C Z +A Z +C Y +A Y +C Y +C Y +B Y +A Z +A Z +A Y +A Z +C Z +B X +A Y +B X +B Y +B X +A Z +C Z +C Z +C Y +B X +C Z +A X +A Z +A Z +A Y +A Z +A Z +A Z +A Z +B Z +B X +B X +C Y +C Z +C Z +A Y +B X +C Z +C X +C Z +B Y +A Z +B X +B Y +B X +A Z +B X +B X +A Z +A Z +C X +B X +C Z +C X +A Z +A X +C Z +A Z +A Z +C Z +B Z +C Z +B X +A Z +A Z +C Z +A Y +A Z +A Z +C Y +A Z +B X +B Y +A Z +A Y +A X +B X +A Z +A Z +C Y +C Y +A Z +C X +A Z +A Y +A Z +B Y +A Z +A Y +B X +C Z +A Z +B X +A Z +A Z +B X +A Z +A Z +B X +A Z +C Y +A Z +C Z +C Y +B Y +B X +A Z +B Y +A Z +A Z +B X +A Z +A Z +B X +C Z +A Z +C Z +B X +B X +B Y +A Y +C Y +B X +A Z +C Z +A Z +A Z +A Z +B X +A Z +B X +A Z +A Z +A Z +C Z +A X +B X +B Z +A Z +A Z +C Z +A Z +A Z +A Z +B Y +A Y +C Z +B X +B X +C Y +A Y +A Z +C X +B Z +A Z +A Z +C Z +A Z +A Y +B Y +C Z +B X +A Z +A Z +A Z +C Z +A Z +A Y +B X +C Y +A Z +A Z +A Z +C X +B X +A Z +A Z +C Z +B X +A Z +A Z +A Z +A Z +A Z +A Z +C Y +A Z +B X +A Y +C Y +A Z +A Z +B X +A Z +B Y +A Y +B X +A X +A Z +C Z +C Z +C Y +A Z +B Y +A Z +C X +A Z +A Z +B X +A Z +A Z +B Y +A Y +A Z +A Z +B X +C Y +B X +B Y +C Y +C X +A Z +A Z +B Y +A Z +B Y +C Y +C Y +A Z +C Y +A Z +C Z +A Z +B X +A Z +A Z +A X +A Z +A Z +A Z +A Z +B Z +C X +B Y +A Z +C Z +A Z +A Z +A Z +C Z +B X +A Z +B X +C Y +C Z +A Z +A Z +C Z +B X +B X +A Z +A Z +B X +A Z +A Z +C Z +A Z +A Z +A X +C Z +C Y +A Z +A Z +A Z +A Z +C Z +A Z +A Z +B Z +A Z +C Y +A Z +A Z +B Y +A Z +A Z +B X +A Z +B X +A Z +A Z +C Y +A Y +C Y +B Z +B X +B Y +A Z +A Z +C Y +A Z +A Y +B Z +A Z +C Y +A Z +A Z +A X +A Z +B Y +B Y +A Z +A Z +A Z +C Z +C Z +A Y +C Y +B X +A Y +B X +B Y +C X +C Y +C Y +A Z +C Z +A Z +A Z +A Z +B X +A Z +A Z +A Z +A Z +A Y +B X +A Z +A Z +B X +A Z +A Z +A Z +A Z +A X +C Y +B X +A Z +A Y +C Y +C Y +A X +A Z +C X +C Z +A Z +C X +A Z +A Z +B Y +A Z +A Z +A Z +B X +A Z +A Z +B X +B X +A Z +A Z +C Z +C Z +A Z +C Z +B X +A Z +A Z +B X +C Z +C Z +C Y +C Z +A Z +B X +A X +C Z +A X +C Z +A Z +A Z +A Z +A Z +A Z +B X +A Z +B X +C Y +A Z +A Z +A Z +C Z +A Y +A Y +B Y +A Z +A Z +C Y +C Z +B X +B X +A X +C Z +B X +A Z +A Z +A Z +B Z +A Z +C Y +B X +A Z +A Z +A Y +B Y +C Z +C Z +A Z +A Z +A Z +B Y +A Z +C Y +B X +B Z +C X +B X +C Y +A X +C Z +A Z +B X +C X +A Y +C X +A Z +B X +B X +A Z +A Z +C Z +B X +B Z +C Y +C Z +A Z +B Y +A Z +A Z +B X +C Y +A Z +C Z +A Z +B Z +C Z +C Z +A Z +C Y +A Z +A Z +A Z +C Z +C X +B Y +C Y +A Z +C Y +C Y +C X +C Y +A Z +C Y +C Y +C X +C X +A Z +B X +A Z +C Y +A Z +B X +B X +B X +B X +B X +B Y +A Z +A Z +C Z +A Z +A Z +A Z +C Z +C Z +C Z +A Z +A Z +A Y +A Z +A Z +A Y +A X +C Z +A Z +A Z +C Z +B X +C Z +B Y +C Z +A Y +A Z +C Y +B X +A Z +C Y +A Z +C Z +C Y +B X +A Z +A Z +A Z +A Z +A Z +C X +C Z +A Z +A Z +A Z +C Z +A Z +B X +A Z +A X +A Z +B X +A Z +C Z +A Z +A Y +B X +B Z +A Z +B X +A Z +A Z +B Y +A Z +A Z +C Y +B Y +C X +A Z +A Z +A Z +C Z +A Z +A Z +A Z +C Z +A Z +C Y +B X +A Z +A Z +C X +A Z +C Z +A Z +B Y +A Z +A Y +C Z +C Z +A Y +A Y +A Z +A X +A Z +A Z +B X +A Z +A Z +B X +C Z +A Z +A Y +B X +A Z +A Z +C Z +A Z +A Z +B X +B Z +A Z +A X +B Y +A Z +B X +A Z +C Z +B X +C Y +A Z +B X +A Z +A Z +A Z +B Z +A Z +C Z +A Z +C Z +B X +A Z +B Z +A Z +C Z +C Z +B Y +C Z +A Z +A Z +C Y +A Z +A Z +B X +B Y +C Z +A Z +C Z +A Z +C Z +A Z +B X +A X +B Y +A Z +C Z +A Z +C Z +C Y +B X +C Z +C Z +B Y +B X +C Z +B X +C Y +A Z +C Y +C Y +A Z +B X +A Z +C X +C Z +B Y +C Z +B Z +A Z +A Z +A Z +A Z +A Z +A Z +A Z +A Z +C Z +A Z +B Y +C Y +C X +C Y +B Y +B X +A Z +C Z +B X +B Y +A Z +B Y +A Z +A Y +B X +A Z +B X +A Z +C Z +A Z +A Z +A Z +C X +B Y +C Z +C Z +A X +C Z +A Z +C Z +B Y +A Z +B Y +A Z +A Z +A Z +B Z +C Z +A Z +A Z +A Z +A Z +A Z +A Y +A Z +C Z +A Z +C X +A Z +A Z +A Z +C Z +A Y +A Z +A Z +B Z +A Z +A Z +A Z +C Z +C Z +A Y +A Z +A X +C Y +C Y +B Z +A Y +C Z +A Z +C Z +C Z +A Z +A X +A Z +B Y +C Z +B Y +A Z +B X +A Z +A Y +A Z +A Z +A Z +C Z +A Z +A Z +A Z +C Z +A Z +C Z +C Z +C Y +A Z +B X +A Z +A Z +A Z +A Z +A Z +A Z +C X +C Z +C X +A Z +A Z +A Z +A Z +A Z +A Z +C Z +B Y +B X +A Z +C Z +B Z +A Z +C Y +A Z +C Z +A Z +C Z +A Z +A Z +A Z +C Z +A Z +C Y +A Z +A Z +A Z +A Z +A Z +C Z +C Y +A Z +C X +A Z +C X +C Z +C Z +A Z +A Z +B Y +B X +A Z +B X +A Z +A Z +A Z +C Z +B Z +A Z +A Y +B Y +A Z +C Z +B X +C X +C Y +C Y +C Z +C X +B X +A Z +B X +A Z +C Z +A Z +A Y +A Z +B X +A Y +A Z +A Y +C Y +A Y +A Z +A Z +B X +C X +A Z +A Z +A Z +A Z +A Z +A Z +A Y +B X +A Z +A Z +B Y +B X +A Z +A Z +B X +A Z +C Y +C Y +B Y +A Z +A Z +A Y +A Z +A Z +A Y +C Z +C Y +C Z +C X +C Z +C Y +A Z +A Z +C Z +B X +A Z +C Z +A Z +C Z +C X +B Y +C X +B X +C Z +B X +C Z +A Z +A Y +B Y +A Z +A Z +C X +C Y +A Z +B X +A Z +A Z +C Y +C Z +B X +B X +A Z +C X +A Z +B X +C Y +A Z +A Y +B X +C Y +B X +A X +A Z +A Z +A Z +C Z +B Y +C Z +B Y +A Z +A Z +C Z +B X +A Z +A Z +A Z +A Z +C Y +B X +A Z +C X +A Z +C Z +B Z +A Z +A Z +A Z +B Z +A Y +A Z +A Z +C Z +B Z +A X +B X +A Z +A Z +A Z +A Z +A Z +A X +C Z +A Z +C Z +B X +B X +C Y +B X +A Z +A Z +C Y +C Z +B X +C Y +A Y +B X +B X +C X +A Z +A Z +C Z +A Z +C Z +C Z +B X +A Z +B X +A Z +A Z +B Y +B Y +A Z +A Z +C Z +A Z +A Z +B X +A Z +C Z +C Z +B X +C Y +A Z +A X +B X +B X +B Y +B Y +A Z +C Z +A Z +C Z +A Z +C Y +B X +A Z +A Z +C Z +B X +A Z +C Y +A Z +A Z +A Z +B X +A Z +A Y +C Y +C Z +A Z +A Z +B X +C Y +A Z +C X +A Z +B X +A Z +A Z +B Y +B X +C Z +A Z +B X +A Y +A Z +B Z +A Z +C Y +B Y +C Z +C X +B X +A X +B X +B Z +B X +B Y +B X +C Y +B X +A Y +B Z +B X +C X +B X +A Z +A Z +B X +B X +A Z +A Z +C Y +B Y +A Z +A Z +A Z +C Z +A Z +B X +A Z +B X +A Z +A Z +A Z +A Z +C Y +C X +A Z +A Z +A Z +A Z +B Y +A Z +A Z +C Z +C Z +B X +A Z +A Z +B X +A Z +B X +C Y +B X +C Z +A Z +C Z +C Z +A Z +A Z +A Z +A Z +A Z +C X +C Z +B X +B X +B X +A Z +A Z +C Z +B X +A Z +C X +A Z +C Z +A Z +A Z +C Z +A Z +A X +B X +A Z +A Z +A X +A Z +B Y +A Z +A Z +A Z +C Y +C Y +A Z +C Y +C X +A Z +B Y +A Z +A Z +B Y +A Z +A Z +A Z +C Y +B X +A Z +A Z +A Z +A X +A Z +A Y +A Y +A Z +C Z +B Y +C Y +B X +B X +B X +A Z +A Z +A Z +C Y +A Z +B X +A Z +A Z +C Z +B X +A Z +A Z +C Z +A Z +C Y +A Z +B X +C Z +C Y +A Z +C X +A Y +B Z +C Z +C Y +A Z +A Z +A Z +A Y +A Y +C Y +B X +C Z +B X +C Y +B X +B X +A Z +A Z +C Z +A Z +B X +A Z +B X +C Y +C Z +A X +B X +B X +C Z +C Z +C Z +C Z +C Z +A X +A Z +B X +A Z +B X +A Z +A Z +A Z +B X +B Y +C Z +C Y +A Z +C Z +B X +C Z +A Z +C Z +A Z +A Z +A Z +B X +B Z +A X +B Y +C Z +A Z +A X +A Y +A Z +C Y +A Z +C Z +A Z +A Z +A X +A Z +A Y +B Z +A Z +A Z +B X +B Y +A Z +C Z +A Z +A Z +C Z +A Z +A Z +C Y +B X +B X +A Z +C Y +B Z +A Z +B X +B X +B X +B Y +C Z +B Z +A X +B X +A Y +A Z +B X +B X +A Z +B X +A Z +C Z +A Z +C Z +C Y +B X +B X +C X +A Z +A X +A Z +C Y +C Z +C Y +C Z +C Y +C Y +B X +B Y +A Z +C X +C Z +B X +C Z +C Z +B X +A Z +A Z +A Y +A Z +A Z +C Y +A Z +B X +A Z +A Z +C Y +A Z +A Z +B X +A Z +A Z +B Z +A Z +A Z +A Z +A Z +A Z +C Z +A Y +A Z +C Z +C Z +C Z +A Z +B X +B Y +A Z +C X +A Y +A Y +C Y +C Y +A Z +C Y +B X +C X +B X +C Y +A Z +A Y +B X +B X +A Z +A Z +A Z +A X +A Z +B X +B Y +A Y +C Z +B Y +A X +A Z +A X +A Z +A X +A Y +C Y +C Z +A Z +A Z +A Z +C Y +A Z +A X +A Z +A X +A Z +A Z +B X +C X +C Y +C Z +B X +A X +C Z +C Z +C X +A Z +C Z +C Y +A Z +C Z +C Z +B X +A Z +B Y +B X +B X +C Z +A Z +A Z +B X +B X +A Z +C Z +B X +A Y +B Z +C X +A Z +C Y +A Z +A Z +B X +C Z +C Y +A Z +B X +B Y +A Z +B X +B Z +C X +A Z +C Y +C Z +B X +C X +C Y +A X +C X +C Y +B Y +A Z +C Y +C Z +A Z +A Z +A Y +A Z +C Y +C X +B X +C Y +A Z +B Y +A Z +B X +A Z +C X +A Z +C Z +B Y +B Y +B Y +C Y +A Z +A Y +C Z +C Y +B Y +A Z +B Y +B X +A Z +B Z +A Z +A Z +A Z +C Y +A Z +B X +A Z +C Z +B X +B X +C Z +A Z +C Z +B Y +C Y +C Z +A Z +A Z +A Z +A Z +A Z +C Z +A Z +C Y +A Z +B Y +A Z +C X +A Z +A Z +C Y +A Z +B X +A Z +A Z +B Y +A Y +C X +A Y +A Z +A Z +A Z +B X +A Z +B X +C Z +A Z +B X +C Y +C Z +A Z +A Z +C Z +A Z +A Z +A X +B X +B X +A Z +B X +C Y +A Y +A Z +A Z +C X +A Z +A Z +B X +A Z +A Z +A Z +A Y +B X +A Z +B X +B X +B X +B X +A Y +B X +A Z +A Z +B X +C Y +B X +C Z +B X +A Z +C X +A Z +B Y +C Z +B X +A Z +A Z +C Y +C Y +A Z +A Z +C Z +A Y +A Z +C X +C Z +A Z +A Z +B X +A Z +B X +A Y +B Z +B X +A Z +A X +B X +A Z +A Z +A Y +C Z +A Z +A Z +C Z +C Z +A X +A Z +C Y +A Z +B X +A Z +A Z +A Y +C Y +B X +C Z +A Z +C Y +B Y +A Z +B Y +C Z +A Z +A X +B X +B X +A Z +A X +A Z +A Z +A Z +A Z +B Z +A Y +A Z +A X +C Y +A Z +B X +B Y +B X +C Z +A Z +A Z +B X +A Z +C Z +A Z +B X +C Y +C Z +A Z +B Z +C Z +B X +C Y +A Z +C Z +B X +B X +A Y +A Z +B Z +B X +C Z +A Z +C Y +B Y +A Z +B Y +A Z +C Z +B X +B X +B X +C Z +A X +B Y +B Y +A Z +A Z +A Z +A Z +A Z +B X +A Z +A Z +B X +C Z +A Z +C Y +C Z +A Z +A X +A Z +A Z +A Z +B X +B Y +B X +A Z +A Z +C Z +A Z +C Z +A Z +A Z +B X +A Z +A Z +C Y +A Z +B X +A Z +A Z +B X +A Z +C Z +A Z +B X +A Z +A Z +A Z +C Z +B Y +A Z +B X +C X +A Z +B X +A Z +C Y +A Z +A Y +A Z +B Z +B X +C Z +A Z +C Z +C Y +B Y +B X +B Y +C Y +C Y +A Z +C Y +A X +A Z +B Y +A Z +B X +A Y +C Y +B X +C Y +B X +A Z +A X +B Y +B X +C Z +A Z +A Z +A Z +A Z +A Z +C Z +C Z +A Z +A Y +B X +B X +C Z +A Z +A Z +C X +B Z +C Z +B X +A Z +A Y +A Z +A Z +A Z +A Z +A Z +A Z +B Z +B X +A Z +B X +C Y +C Z +A Z +B X +B X +A Z +C X +A Z +B Y +A Z +C Y +B X +A Y +B Y +C Y +B X +B X +B Y +C Y +B X +A Z +C X +A Z +B X +A Z +A Y +A Z +A X +C X +C Y +A Z +A Z +C Y +A Z +A Z +A X +C Z +C Y +A Z +A Z +B X +B X +C Z +B X +A Z +C Y +B X +B X +C Z +A X +A Z +B Z +C Z +C Y +A Z +C Z +C Z +B Y +C Y +B Y +C Z +A Z +C Z +B X +A Z +B Y +B Y +C Y +C Y +A Z +C Z +C Z +A Z +A Z +C X +A Z +A Z +C X +A Z +A Z +A Y +A X +C X +A Z +A Z +A Z +C Z +A Z +A Z +A X +A X +B Y +A X +A Z +A X +B X +B X +A Z +C Y +A Z +C Y +C Y +B X +B X +A Z +B Z +B X +C X +B X +A Z +A Z +A Z +B X +C Y +C Z +A Z +B Y +C Y +C X +A Z +A Z +A Z +A Z +A X +C Z +A Z +B X +A Z +A Z +C Z +C X +C Z +A Z +C Y +B Y +A Z +C Z +B X +B Z +A Z +A Z +A Y +C Y +C Z +C Z +A Z +A Z +C Z +B X +A Z +A Z +A Z +B X +A Z +B X +B X +A Z +C Y +A Z +A Z +A Z +C Z +A Z +C Y +B X +A Z +C Z +A Z +C Z +A X +A Z +A Z +A Z +A Z +A Z +A Z +C Z +A Z +A Z +A Z +B X +C Y +B Z +A Z +C X +A Z +C Z +C Z +C Y +C Y +B X +A Z +C Z +A Z +A Z +A Z +A Z +A Z +A Z +A Y +A Z +A Z +A Z +C Y +B Y +C Z +C Z +A Z +A Z +A Z +A Y +C Z +A Z +A Y +A Z +A Z +A Z +B X +B X +C Y +B X +A Z +A Z +A X +C Z +C Y +A Z +C Y +A Z +A Z +A Z +C X +B X +A Z +C X +C Y +A Z +A Z +A Z +A Z +A Z +A Z +C Z +B X +C X +C Z +B Y +B Z +B Z +C Y +A Z +B X +B X +A Z +A Z +A Z +B Z +B Z +A Z +C Z +A Y +C X +C Y +A X +C Y +A Z +C X +A Z +B X +C Z +B X +B Z +A Z +A X +A Z +B X +C Y +B Y +A Z +C Z +A Y +A Z +C Y +A Z +C Y +B X +A Z +A Z +A Z +A Z +B Y +A X +A Z +C Z +A Z +C Z +B X +C Z +A Z +B Y +A Z +C Y +C Y +C Z +A Z +A Z +A Y +B X +A Z +A Z +C X +B X +C X +A Y +A Z +A X +B X +A Z +B Y +C Z +C Z +C Y +A Z +A Y +A Z +A Z +B Z +C Y +A Z +A Z +B Y