From f907f0611cde485fae5e7e25f2efe7dbd7d76a68 Mon Sep 17 00:00:00 2001 From: Mia Herkt Date: Fri, 2 Dec 2022 15:31:24 +0100 Subject: [PATCH] 02: Solve in C --- 02/input | 2500 +++++++++++++++++++++++++++++++++++++++++++++++++ 02/solution.c | 15 + 2 files changed, 2515 insertions(+) create mode 100644 02/input create mode 100644 02/solution.c diff --git a/02/input b/02/input new file mode 100644 index 0000000..7a5c4fe --- /dev/null +++ b/02/input @@ -0,0 +1,2500 @@ +A Y +B Y +B Z +B Z +B X +B Z +C Y +A Z +C X +C X +B Z +B Z +B Z +A X +B Z +B Z +A Y +B Z +A Z +B X +B Z +A X +A X +B Z +A Y +A Z +B Z +A Y +A Z +B Z +A Z +B Z +B Z +C Y +B Z +B Z +A X +C X +B Z +A X +B Z +C X +A X +B Z +A X +A X +C X +B Z +B Z +B Z +C Y +C Y +A X +B Z +C X +B Z +A X +A Y +B Z +B Z +B Z +B Z +B Z +B X +B Z +B Z +B Z +B X +A X +A X +B Z +A Y +C Y +C Y +A Y +A X +B Z +A Y +A Z +A X +A X +A Y +C Y +B Z +B Z +C X +B Z +A Y +A X +B Z +B Z +A X +A X +A X +B Z +A Y +B Z +A Z +C Y +B Z +B Z +B Z +C Y +A Y +C Y +B Z +A X +B Z +A X +B Z +C Y +B Z +B Z +B Z +C X +B Z +A X +B Z +B Z +B Z +A X +A X +B X +C Y +B Z +B Z +B Z +A X +B Z +A X +B Z +A X +A Z +A X +B Z +A X +C Y +A X +B Z +A X +C Y +B Z +B Z +A X +A X +B Z +C Y +B Y +B Z +B Z +B Z +B X +B Z +B Z +B Z +A X +B Z +C Y +C Y +A Z +A X +B Z +B Z +B Y +B Z +B Z +C Y +B Z +B Y +B Z +C Y +B Z +B Z +C X +C X +C X +B Z +A Z +A X +C Y +A Z +B Z +B Z +B Z +B Z +A X +A X +B Z +B Z +A Z +A X +A X +B Z +C Y +A X +A Z +A Y +A Y +A X +B Z +A X +A Z +B Z +C X +B Z +C X +C Y +B Z +B Z +B Z +B Z +B Z +C Y +A X +C Y +A X +B Y +B Y +A X +A X +B Z +B Z +C X +A Z +C Y +A X +A X +A Y +A X +A X +B Z +A Z +B Z +B Z +B Z +A Z +A X +B Z +B Z +C Y +B Z +B Z +B Z +A X +A X +B Z +B Z +B Z +B Z +B Z +B Z +A X +C X +A X +A X +C Y +A X +B Z +C Y +B Z +B Z +B Z +A X +B Z +C Y +B Z +A X +A X +B Z +A X +A X +B Z +A Z +B X +A X +A X +B Z +C Y +A Y +A X +C X +B Z +A X +B Z +B Z +A X +B Z +A Z +C Y +B Z +B Z +A X +A X +B X +A X +B Z +B Z +C X +A X +C X +A X +B Z +B Z +A X +A Z +B Z +B X +A X +A Y +B Z +B Z +B Z +C X +C Y +B Z +B Z +C Z +B X +C Y +C Z +B Z +B Z +A X +B Z +C X +B Z +B Z +A Z +A X +C X +B Z +B Z +A X +C Y +A X +B X +C Z +B Z +B Z +A X +B Z +A Y +B Z +B Z +A X +B Z +C Y +C Y +A X +C Y +C X +C X +A X +B Z +C Y +B Z +C X +B Z +A Z +B Z +A Z +B X +B Z +A Z +A X +B Z +B Z +B Z +A X +A X +A X +B Z +A X +B Z +B X +A Y +B Z +A X +B Z +B Z +B Z +A X +B Z +C X +A Y +A X +A Z +C Y +C Y +A X +C Y +B Z +A X +B Z +C Y +B X +A Z +B Z +B Z +B X +B Z +B Z +B Z +A Y +A Y +C Y +A Z +A X +B Z +B Z +A X +A X +A X +B Z +A X +B Z +B Y +A X +A X +A X +B Z +B Z +B Z +C Y +A X +A X +A X +A X +A X +A X +C Y +A Z +C X +B Z +B Z +C Z +A X +A X +B Z +A X +B X +B Z +B Z +C X +B Z +A Z +A X +B Z +A Z +B Z +B Y +A X +C Y +A X +B Z +B Z +B Z +A Z +C Y +C Z +A X +B Z +B Z +B X +A X +B Z +A X +B Z +B Z +C Z +B Z +A X +C Y +C X +A Z +C X +A X +A X +A X +B Z +B Y +C Y +B Z +B Z +C Y +B Z +A X +B Z +A Z +A X +B Z +A Y +A X +A X +B X +B Z +B Z +B Z +B Z +C Z +B Y +A X +A X +B Z +B Z +B Z +C Z +B Z +B Z +A Y +A Z +B Z +A X +C Y +B Z +A Z +C Z +B Z +C X +B Z +B Z +A X +B Z +A X +B Z +C Y +A X +B Z +A Z +B Z +C Y +A X +C X +A X +A X +B Z +B Z +B X +B Z +C X +C Y +A Z +B Z +C Y +B Z +C Y +B Y +A Y +B Z +A X +B Z +A Z +B Z +A X +C X +B Z +B X +C Y +A Z +A X +B Z +B Z +B Z +A Z +C Y +C Y +B Z +A Y +A X +A X +A Y +C Y +A Y +B Z +B Z +B Z +A Z +B Z +A Z +B Z +A X +A Z +B Z +C Y +B Z +A X +A X +A X +A Z +A Z +B Z +C Y +B Z +A X +B Z +B Z +A Z +B Z +B Z +A X +B Z +B Z +B X +A X +B Z +B Z +A Z +A X +B X +A X +B Z +A X +B Z +A X +B Z +C Y +B Z +C Z +C X +B Z +B Z +B Z +C Y +C X +B Z +B Z +B Z +B Z +A Y +A Y +C Y +A X +C X +B X +A X +C X +A Y +B X +A X +A Z +B Z +B X +B Y +B Z +B Z +B X +B Z +C Y +B Z +A X +A X +A X +B Z +A X +B Z +A X +B Z +B Z +B Z +B Z +A X +C Y +A X +B Z +B Z +B Z +A X +B Z +B Z +C Z +A X +A Z +B Z +C Y +B Z +B Z +B Z +B Z +A Z +B Z +B Z +B Z +C Y +A X +B X +C Y +A X +C Z +B Z +C Y +C Y +B Z +A X +B Z +C Z +A X +A Z +B Z +A Z +B Z +B X +B Z +A Z +B Z +C Y +C Z +B Z +A X +B Z +A X +A X +B Z +B Z +B Z +B Z +A X +A Z +A X +B X +B Z +A Y +A Y +B Z +A X +B Z +B Z +A Y +C X +B Z +B Z +B Z +C X +B Z +C X +A X +B Z +C Y +A X +A X +A X +C Z +A X +A X +A Y +B Z +B Z +B Z +B Z +B Z +C X +C Y +B Z +B Z +C X +B Z +B Z +B Z +C Y +C Y +A Z +A X +B Z +A X +B X +B Z +B Z +C Y +B Z +A X +B X +A Z +A Z +B Z +A X +C X +A X +B Z +B Z +B Z +A X +A Z +C X +B Z +A X +A Z +A Z +A Z +A Z +C Y +B X +B X +C Z +B X +C Z +A X +A Y +B Z +B X +A Y +A Z +B X +A X +A X +C Z +A Z +B Z +C X +B Z +B Z +C X +B Z +C X +A X +A Y +A X +B Z +A X +B Z +C Y +B Z +B Z +B Z +B Z +B Z +B Z +B Z +B Z +B Z +A X +B Z +A X +B Z +A Y +B Z +A X +A Z +B Z +C Y +A Z +A X +A Z +C X +B Z +B Z +B Z +A X +C X +C Y +B Z +A Z +A Z +C X +B Z +C Y +A Z +A Z +A Y +B Z +A Z +B Z +B Y +C Y +B Z +B Z +A Z +A X +B Z +C Y +B Z +B Z +B Z +B Z +B Z +A X +C Y +B X +C X +B Z +A Z +B Z +A X +B Z +B Z +A X +C Y +A X +A X +A X +C X +A X +A X +B Z +A Y +A X +B Z +C X +A X +C Z +A X +B Z +C X +A X +A X +A X +B Z +C X +B Z +B Z +A X +A X +A X +A X +B Z +A X +A X +B Z +B X +A Y +A X +C X +A X +C X +A X +B Z +B Z +B Z +B Z +B Z +A X +A X +B X +C Y +A Y +C X +C X +C X +B Z +B Z +B X +B Z +B Z +C X +B Z +B Z +A X +B Z +B Z +B X +A X +A X +C Y +C X +A X +C Y +A Y +C X +B Z +A X +A Z +B Z +B Z +B X +B Z +B Z +B Z +C Y +B X +A X +B Z +A X +B Z +A X +A Z +A Y +C Y +B Z +C Y +A Z +A Z +B Z +A X +A X +C Y +C Y +A X +B Z +A X +C X +C Z +A X +A Y +A X +A X +A X +B Z +B Z +B Z +C Y +B Z +B Z +C Z +A X +B Z +B Z +A X +A X +B Z +B Z +B Z +A Y +B X +A Z +A Z +B Z +A X +B Z +B Y +A Y +A X +C Y +A Z +B Z +C X +C X +A X +B Z +A X +A X +A Z +B Z +A Z +A Z +B Z +B Z +A Y +B Z +C Y +C X +B Z +A X +A X +B Z +B Z +A X +A X +C Y +B Z +A Z +A X +B Z +C Y +B Z +A X +A X +B X +A X +B Z +C Y +B Z +A Y +B Z +B Z +B Z +B X +A X +B Z +C Y +B Z +B Z +B Z +A Z +C Y +C Y +C Y +A X +A Z +A X +B Z +A X +B Z +A X +C Y +B Z +B Z +A X +B Z +A X +A X +B Z +B Z +A X +A X +C X +B Z +A Y +A X +A X +B Z +C Y +C X +C X +B Y +A Z +B Z +A Z +A X +B Z +C Y +B Z +A X +A Z +B Z +A X +A Y +A X +B Z +B Z +B Y +B Z +A X +B Z +B Z +B Z +C Y +A X +B Z +B Z +A X +A X +A X +B Z +A Y +B Z +A Z +A X +B Z +C X +B Z +A X +A Z +A Z +B Z +A X +B Z +B Z +B Z +B Z +C Y +A Y +A Z +A X +A Y +B Z +B Z +B Z +C Y +C Y +B Z +A Y +A Z +A X +B Z +A Z +B Z +A X +C Y +B Z +B Z +B Z +B Z +B Z +C X +A Z +B Z +A Z +B Z +A X +B Z +A X +A Y +B Z +B X +B Z +A Y +B Z +A Z +B Z +B Z +A X +A Z +A Z +B X +B Z +A X +B X +A X +A Z +A X +C X +B Z +C X +A X +C X +A X +A X +A Z +A Z +B Z +A Z +B X +B Z +B Z +A X +B Z +B Z +A X +B Z +B Z +B Z +B Z +B Z +C X +A X +C Y +B Z +B Z +A Y +B X +B Z +A Z +B Z +B Z +C Y +B Z +A X +A Z +B Z +A Z +B Z +B Z +A X +B Z +A Z +A Z +A Z +C X +A Z +B Z +C Y +B Z +A Z +B Z +A X +A X +A X +A Z +A X +B Z +B Z +B Z +B Z +A Y +A X +C Y +C Z +B Z +A Z +A X +B Z +B X +B Z +A X +B Z +B Z +C Y +A X +B Z +B Z +C X +C X +B Z +B Y +A Y +A X +C Y +A X +A X +B Z +B Z +B Z +B Z +A Z +C X +A X +A X +A X +A X +A Y +A Z +A Y +A Y +B Z +A X +A Y +A X +A Z +A Z +A X +B Z +B Z +C Y +A X +B Z +C Y +B Z +B Z +A X +B Z +B X +A X +B Z +A Y +A Y +B X +B Z +B Z +C X +A X +B Z +A X +B X +B Z +A X +B Z +A X +B X +A X +A X +C X +A X +A X +B Z +A X +A X +A Y +B Z +B Z +C Y +B Z +A X +B Z +B Z +A Z +A X +B Z +A Y +B Z +C Y +A Z +A X +A Y +C Y +A X +A Y +C X +B Z +A X +A Y +A X +B Z +A Z +B Z +B Z +C Y +A X +C Y +A Z +B Z +B Z +A X +A X +B X +B Z +C Y +B Z +B Y +A X +B Z +A X +C X +B Z +A Y +A X +B Z +C Y +A Z +B Z +A X +A X +A Y +A Z +C X +B Z +B Z +B Z +A Z +B Z +C Y +B Z +B Z +B Z +B Z +B X +B Z +A X +B Z +B Z +A X +C X +C Y +B Z +B Z +A X +B Z +A X +A X +A Y +B Z +A Z +B Z +C Y +B Z +A X +A Y +C Y +B Y +A Y +A X +C Y +A X +A Z +A X +B Z +A Z +B Z +A X +B Z +C Y +A X +B Z +B X +B Z +A X +A X +A X +B Z +A Z +A Z +B Z +A X +B Z +B Z +A X +A X +B Z +B Z +A X +B Z +B X +B Z +C Y +A Z +B X +A X +B Z +B Z +A X +B Z +A X +B Z +B X +B X +A X +B Z +B Z +B Z +B Z +A Y +B Z +B Z +A X +C X +B Z +B Z +B Z +B Z +B Z +A X +C X +A Y +A X +A X +B Z +C Y +C X +B Z +A X +A Y +B Z +A X +B Z +C Y +B Z +A X +B Z +A Y +B X +A X +B Z +A X +B Z +A X +B Z +A X +C X +C X +A X +B Z +A Y +B Z +B Z +A X +A X +B Z +B Z +B Z +A X +A X +A X +C Y +A Y +B Z +B Z +B Z +B Z +A X +A X +B Z +B Z +C Y +A X +A X +B Z +A X +A Y +A X +B Z +B Z +B Z +A X +B Z +A X +B Z +A X +A X +B Z +A Y +A Z +B Y +A X +A Z +B Z +B Z +A Z +A X +A X +B Z +A X +B Z +A X +C X +A Z +A X +B Z +B Z +A X +A Z +C X +B Z +B Z +A X +B Z +B Z +A X +B Z +B Z +B Z +A Y +A Z +B Z +B Z +A X +B Z +B Z +B X +C X +B Z +B Z +B Z +A X +A X +A Z +B Z +C X +B Y +A Y +B Z +B Z +A X +A X +A Z +B Z +B Z +B Z +A X +A Z +A X +B Z +B Z +A Z +B Z +A Y +A Z +C Y +B Z +B Z +B Z +B Z +A Z +A Z +A Y +B Z +A X +A X +B Z +A Z +B Z +B Z +B X +C Y +B Z +C Y +B Z +A X +C Z +B Z +A X +A X +B Z +A Z +A X +B Z +A Z +A X +C Z +C X +B Z +B Z +B Z +B Z +B Z +C Y +A X +B Z +C Y +A X +B Z +B Z +A Z +A Z +B Z +C Y +A X +C X +B Z +B Z +B Z +B Z +A X +B Z +A X +B Z +A Y +B Z +B Z +B Z +B Z +B Z +C Y +B Z +B Z +A X +A X +A X +A Z +B Z +A Y +C Z +A Z +B Z +B Z +B Z +A X +B X +C Y +C X +C Y +B Z +B Z +B Z +B Z +A Y +B Z +A X +C X +A X +B X +C X +B Z +B Z +A X +A X +C Y +C Y +A X +B Z +C Y +A Y +A Z +A Y +B Z +B Z +B Z +A Y +B Z +A Z +A X +B Z +C X +A Z +B Z +A X +C X +A X +C Y +B X +B Z +B Z +A X +C Y +A X +B Z +C X +A Z +A Y +B Z +A Z +B Z +B Z +B Z +B Z +A X +A X +B Z +A Z +C Y +A Y +A X +A X +B Z +C Z +B Z +A Z +B X +C X +B Z +B Z +A X +A Z +A X +A Z +A X +B Z +B Z +C Y +B Z +B Z +B Z +B Z +A Z +B Z +B X +B Z +B Z +B Z +B Z +C X +C X +A X +B Z +B Z +B Z +B Z +B Z +B Z +A X +C X +B Z +B Z +A Y +B Z +A X +C Y +B Z +C Y +B Z +A Y +B Z +B Z +B Z +A X +A X +A X +B Z +C Y +B Z +A Z +A Y +A Z +A Y +B Z +A X +B X +B Z +A X +B Z +A Y +A X +B Z +A X +A X +A Y +A Y +A X +A X +A X +B Z +B Z +B Z +A X +B Z +A X +B Z +A X +B Y +B Y +A X +B Z +C X +A Z +C Y +A X +B Z +B Z +B Z +C Y +B X +C Y +B Z +B Z +B Z +A Z +B Z +B Z +B Z +C Y +B Z +B Z +A X +A Z +A Y +C Y +B Z +B Z +A X +B Z +B Z +A X +A X +B Z +B Y +B Z +B Z +A Z +B Z +B Z +A X +B Z +A X +C X +C X +A X +C Y +B Z +B Z +B Z +A X +C Y +B Z +B Z +B Z +B Z +B Z +B Z +B Z +B Z +B Z +B Z +C Y +C X +B Z +B Z +B Z +C Y +A Y +C Y +A X +B X +B Z +A X +C X +B Z +A Z +C X +C X +B Z +B Z +A Z +B Z +B X +B Z +B Z +B Z +A X +C X +B Z +A X +C Y +B Z +B Z +C X +B X +A X +B Z +C X +C X +B Z +B X +A X +B Z +A Y +B Z +A Z +A X +B Z +A X +A X +B Z +B Z +A X +B Z +A X +A X +C Y +B Z +A X +C Y +B Z +B Z +A X +A Y +C Y +B Z +A X +B Z +A X +A X +B Z +B Z +C Y +B Z +A X +A X +A X +A X +A Z +B Z +B Z +C X +C X +B Z +B Z +C Y +B Z +A Y +B Z +A X +C X +A Z +B Z +B Z +B Z +C Y +A X +B Z +B Z +C Y +B Z +C Y +B Z +A Z +B Z +A X +B Z +C Y +C Y +A X +A X +A Z +B Z +C Y +C Y +A X +B Z +B Z +A X +B Z +B Z +B Z +B Z +B X +B Y +A X +B Z +B Z +B Z +C Y +A X +A Y +B Z +A Z +A Z +B X +A X +C Y +B Z +B Z +A Z +B Z +C X +C X +A Z +B Z +A X +B Z +A X +B Z +B Z +B X +A X +A Z +B X +A X +B Z +A X +A X +A Z +A Y +B Z +A Y +C Y +C X +B Z +B Z +A X +A X +B Z +B Z +B Z +A Z +C X +A X +B Z +B Z +A X +B Z +B Z +B Z +A X +A Z +B Z +A X +B Z +A X +B Z +B Z +A X +C Y +A X +C X +A Z +B X +A Y +A Y +B Z +B Z +B Z +A X +A X +A X +A Y +B Z +B Z +B Z +B Z +B Z +B Z +B Z +B Z +C Y +B Z +B Z +B Z +C Y +A X +A Z +B Z +C Y +B Z +A Z +A X +B Z +A Y +B Z +B Z +A Z +B Z +A X +A Z +A Z +B Z +B Z +B Z +B Z +A X +A Z +B Z +B Z +B Z +B Z +A Z +B Z +C X +B Z +B Y +A X +B Z +B Z +A X +B Z +A X +A X +A X +A X +B X +B Z +C X +B Z +B Z +B Z +A X +B Z +C X +B Z +A Z +A X +A X +B Z +B Z +B Z +B Z +C X +A X +B Z +B Z +C Y +B Z +C Y +B Z +B Z +A X +B Z +A X +A Y +B Z +A Z +B Z +B Z +A Y +B Z +B Z +C Y +A X +A X +A X +A X +B Z +B Z +A Y +B Z +A Z +A X +A X +B Z +A Y +B Z +B Z +B X +A Y +A X +A X +C Y +C X +A X +B Z +B Z +B Z +A Y +B Z +C X +C X +C X +B Z +B Z +B Z +B Z +B Z +A X +B Z +A Y +B Z +A Y +C X +B X +B Z +B Z +A X +B X +B Z +B Z +B Z +B Z +B Z +A X +B Z +C X +B X +A X +A X +A X +A X +A X +B Z +C X +C Y +A X +B Z +C X +A Z +B Z +B Z +C Y +A X +A Z +B Z +B Z +B Z +B Z +B Z +B Z +A X +A X +B X +A X +B Z +A X +B Z +B Z +A Z +B Z +B Z +B Z +B Z +C X +B Z +A Z +B Z +B Z +A Z +A X +C X +B X +C X +A X +B Z +A Z +B X +B X +A Z +B Z +B Z +B X +B Z +B Z +C X +A Y +A X +A Z +B Z +A X +B Z +B Z +B Z +B Z +A X +A X +C Y +B Z +B Z +B Z +A Z +C X +C Y +B Y +B Z +B Z +A X +C Y +A Z +B Z +B Z +B Z +B Z +B Z +C X +B Z +A X +C X +A X +A Z +C Y +C X +B Z +B Z +A Y +A Z +A Z +A X +A Z +A Z +C Y +B Z +B Z +B Z +B Z +A Z +A X +A Y +C X +A X +B Z +B Z +B Z +A X +B Z +B Z +A Z +B Z +A X +B Z +A X +A Y +B Z +A X +A Z +B Z +A X +B Z +C X +B Z +B Z +C X +A Y +B Z +A Z +C X +C Z +C X +B Z +B Z +B Z +A X +B Z +C X +A X +A Y +A X +A Z +C Y +A X +B Z +B Z +C Z +A X +B Z +B Z +A X +A Z +B Z +A Y +B Z +C X +A X +A X +B Z +B Z +B Z +B X +C X +B Z +B Z +A X +A X +A Z +B Z +B Z +A Z +C Y +C Z +B Z +A X +A X +A X +C Y +A X +A X +A X +A Z +B Z +A Y +B Z +C X +B Z +A X +C X +B Z +A Y +A X +B Z +B Z +B Z +A X +A Y +B Z +A X +B Z +B Z +B Z +B Z +A X +A X +B Z +C X +B X +A Z +B Z +B Z +B Z +B Z +B Z diff --git a/02/solution.c b/02/solution.c new file mode 100644 index 0000000..c0d26cc --- /dev/null +++ b/02/solution.c @@ -0,0 +1,15 @@ +#include + +int main(void) { + char e, p; + int s = 0, g = 0; + + while(scanf("%c %c\n", &e, &p) == 2) { + e -= '@'; + p -= 'W'; + s += p + (p == e + 1 || p == e - 2 ? 2 : p == e) * 3; + g += (p - 1) * 3 + (p == 3 ? e > 2 ? 1 : e + 1 : p == 2 ? e : e < 2 ? 3 : e - 1); + } + + printf("Silver: %d\nGold: %d\n", s, g); +}