commit ecc55586eda735aa361370e5f06db3a931f1ece9
parent 02d2b6c9e43d269ac1d7752d21e1cf606821f3d1
Author: Jake Bauer <jbauer@paritybit.ca>
Date: Fri, 2 Dec 2022 09:04:24 -0500
Day 2 challenge complete
Diffstat:
A | day2/input.txt | | | 2500 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | day2/main.c | | | 78 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
2 files changed, 2578 insertions(+), 0 deletions(-)
diff --git a/day2/input.txt b/day2/input.txt
@@ -0,0 +1,2500 @@
+B Z
+B X
+C Y
+B Y
+B Y
+A X
+A X
+B Z
+A Z
+B Z
+B Y
+B X
+C X
+B Y
+A Z
+B Y
+A X
+B X
+C Y
+B Y
+B Y
+C Y
+B X
+B X
+C X
+B Y
+B Y
+B Y
+C Y
+C X
+B Y
+C X
+C X
+B Y
+B Z
+C Y
+B Y
+B Z
+B X
+B Y
+B Y
+C Y
+B Y
+C Y
+C Y
+A Z
+B X
+C X
+B Y
+B X
+C X
+A X
+B Y
+C Y
+B X
+C X
+C Y
+B X
+B Z
+B Y
+B X
+C Y
+B X
+B Y
+B Y
+B Y
+B Y
+A X
+A Z
+B Z
+B Y
+C X
+B Y
+B Y
+C Y
+C Z
+C Z
+C X
+B X
+C Z
+B Y
+B Y
+C X
+C Z
+C X
+A Z
+C Y
+B Y
+B Y
+B Y
+C Y
+C Y
+C X
+C X
+C Z
+A X
+B Y
+C X
+B Z
+B Y
+C X
+B X
+B Z
+A Z
+C Y
+B Z
+C X
+C X
+B Y
+B Y
+B Y
+C Y
+C X
+B X
+B Y
+A Z
+A Z
+C Y
+B Y
+C Y
+C Y
+C Y
+B X
+A Z
+C Y
+C Y
+A Z
+A Z
+B X
+B Y
+B Z
+A Z
+B X
+B Y
+C Z
+C Z
+B Z
+B Y
+B X
+A Y
+C Z
+C X
+A Z
+A Z
+B Y
+B Y
+C Y
+C Y
+B Y
+B Y
+B Y
+A Z
+C Y
+C Z
+C X
+A Z
+B X
+B Y
+A Y
+A Y
+B Y
+B Y
+C X
+B Y
+B Y
+C Z
+B Y
+B Y
+A Z
+C Y
+B X
+C X
+A X
+C X
+B Y
+B X
+A Z
+C X
+C Y
+A Z
+B Y
+A Z
+B X
+B X
+A Z
+B Y
+C X
+C X
+A Z
+A X
+C X
+C X
+C X
+B Y
+C Z
+C Y
+C X
+B Y
+B Y
+B Y
+A X
+A Z
+C Y
+B Y
+B Y
+A X
+C Y
+C Z
+C Y
+C X
+B Y
+B Y
+B Y
+B Y
+A Z
+B Y
+A Z
+B X
+B Y
+B Y
+B X
+C Y
+A X
+A Z
+B Y
+C Y
+C Y
+B Y
+B Y
+C X
+B Y
+B X
+A Z
+B Y
+B Y
+C Y
+B Y
+B Y
+B Y
+A X
+B X
+B Z
+C Y
+B Z
+C X
+C X
+B Z
+B Y
+A Z
+A Z
+B Y
+C X
+A X
+C Y
+B Y
+B Y
+A X
+B Y
+A Y
+C Y
+B Y
+C X
+B Y
+A Z
+B Z
+C Y
+B Y
+B Y
+C X
+B Y
+B Y
+B Y
+C Z
+A X
+B Y
+B X
+C X
+C Z
+C Z
+C Y
+C Y
+A X
+C Y
+B Y
+A X
+C X
+A Z
+C X
+B Y
+C Z
+C Z
+A Z
+A X
+C Y
+C X
+B Y
+C Z
+B Y
+C Y
+C X
+C Y
+B Y
+B Y
+B Y
+A X
+A Z
+B Y
+B X
+B X
+B Y
+B Y
+B Y
+A Z
+B Y
+B Y
+A X
+A X
+A Z
+A Z
+B X
+C Y
+A Z
+B Y
+B Y
+C Z
+C X
+C Y
+A Z
+C Y
+C Y
+C Y
+C Y
+C X
+A Z
+C Z
+A Z
+C Y
+C X
+B Y
+B Y
+C Z
+B X
+B Z
+C X
+A Y
+C Y
+B X
+B X
+B Y
+C Y
+A Z
+A Z
+B X
+B Z
+B X
+C Y
+A X
+A X
+C Z
+B Y
+C Y
+C X
+B Y
+A Z
+B Y
+C Y
+B Z
+C Z
+C X
+B Z
+C Z
+B Z
+A X
+C Y
+A Z
+B Y
+B Y
+B Y
+B Y
+B Y
+B Y
+A Z
+C Z
+B X
+C X
+C Y
+C Y
+B Y
+C X
+C X
+A Y
+C Y
+C Y
+A Z
+C Z
+B Y
+B X
+C X
+B Y
+C X
+B Y
+B Y
+C X
+B Y
+B Y
+B Y
+A Z
+C Y
+B Z
+B Y
+C X
+B Y
+C X
+A Y
+A Z
+B Y
+B Y
+B Y
+A Z
+B Y
+B Y
+B Y
+B Y
+B Z
+C Y
+B Z
+B Z
+A Z
+B Y
+B Y
+C X
+A X
+B Y
+A Z
+C X
+C X
+B Y
+B Y
+A X
+B Y
+B Y
+C X
+B Y
+C X
+B Y
+B Y
+B Y
+B Y
+A X
+B Y
+B Z
+B Y
+A Z
+C X
+C X
+C Y
+A Z
+C Y
+B Y
+B X
+A X
+B Y
+A Z
+B Y
+C Y
+B Y
+B Y
+C Y
+C X
+A Z
+A X
+A Z
+C Z
+B Y
+B Y
+C Y
+B X
+C X
+B Y
+A Z
+B Y
+C X
+A X
+C X
+C Y
+C Y
+B X
+B Y
+B Y
+C Z
+B Y
+C X
+A Z
+C Z
+C Y
+A Z
+C X
+C Y
+C Y
+C X
+B Y
+B Y
+C Z
+A Z
+B Y
+A X
+B Y
+A X
+A X
+C Y
+C X
+A Z
+B Y
+C Y
+C X
+B Y
+B Y
+B Y
+B X
+B X
+A X
+C X
+B Y
+C Y
+A Z
+A Z
+A Z
+B Y
+A Z
+B Y
+C X
+B Y
+C X
+C Y
+A Z
+B Y
+B Z
+A Z
+B Y
+A Z
+B Y
+B Y
+C Z
+B Y
+B Y
+A Z
+A X
+C Z
+C Z
+B Z
+B Y
+A Z
+B Y
+B Y
+B Y
+B Y
+C Z
+A Z
+C X
+B X
+B Y
+A X
+A X
+B Y
+A Z
+A X
+C Y
+B Y
+C X
+A Z
+B Y
+C Z
+C Y
+B Y
+A X
+C Y
+B Y
+B Z
+A Y
+B Y
+B Y
+A Z
+B Y
+C Z
+C X
+B Y
+A Y
+C Z
+B X
+A X
+B Y
+B Y
+B Z
+B Z
+C Y
+B Y
+B Y
+A Z
+A Z
+B Y
+B X
+C Y
+C Y
+B Y
+B Y
+B Z
+B Z
+B Y
+C Y
+A Z
+B Y
+A Z
+B Y
+B Y
+A Z
+A Z
+C X
+C Z
+B Y
+C X
+B X
+A Z
+B Y
+B Y
+C X
+B Y
+B Y
+B Y
+B Y
+B X
+B Y
+A X
+B Z
+A Z
+C Z
+B X
+A Z
+C Y
+C Y
+A Z
+B Y
+C Z
+C Z
+C Y
+B Y
+B Y
+B Y
+A Z
+B Y
+B X
+C X
+B Y
+B Y
+B Y
+B Y
+C Y
+B Y
+C Y
+B Y
+C Y
+C X
+A Z
+C Y
+C Z
+C Z
+B X
+C Y
+B Y
+B X
+C Y
+B Y
+B Y
+C Y
+C X
+C X
+A Z
+B Y
+C X
+A Z
+C Z
+B Y
+B Y
+C X
+C X
+B Y
+B X
+C Y
+B Y
+B Y
+A Z
+A Z
+C Z
+A Z
+B Y
+C X
+C X
+B X
+B Y
+B Y
+B Z
+B Y
+B Y
+B Y
+B Y
+B Z
+B Y
+C Y
+C Z
+B Y
+C Y
+C Y
+C Y
+C Y
+A Z
+A Z
+C Y
+C Y
+A X
+B Y
+C Y
+A X
+C X
+C Y
+A Z
+B Y
+B Z
+A X
+B Y
+B Z
+B Y
+B Y
+B Z
+C X
+C Y
+B Y
+B Z
+B X
+A Z
+B Y
+C Y
+B Y
+B Y
+A X
+C X
+B Y
+C X
+B Y
+C Y
+A X
+A X
+A Z
+C Y
+B Y
+C Y
+C X
+B X
+C X
+C X
+A X
+A Z
+B Y
+B Y
+B Y
+A Z
+B Y
+B Y
+B Y
+B Y
+B Y
+B Y
+B X
+B Y
+C Y
+B Y
+A Z
+B Y
+C X
+C Y
+B Z
+C Z
+B Y
+A Y
+C X
+B Y
+B Y
+B Y
+C X
+A Y
+C Z
+B Y
+C X
+C Y
+C Y
+C Y
+C X
+C Y
+B Z
+B Y
+C Y
+C X
+B Y
+B Y
+B X
+C Y
+B X
+C Z
+B Y
+C X
+B Z
+C X
+B Y
+C X
+B Y
+C Y
+C Y
+A Z
+C Y
+C X
+B Y
+C X
+B X
+A Z
+B Y
+A Z
+A Z
+A Z
+C Y
+B X
+A Y
+C Y
+B Y
+B Y
+C Y
+C Y
+C X
+B X
+A X
+A Z
+C X
+A Y
+B X
+C Z
+B Y
+B Y
+B X
+C X
+B Y
+B Y
+B Y
+B X
+B Y
+C X
+B Y
+B Y
+C Z
+C Y
+B Y
+C Y
+B Y
+A Z
+C Z
+A Y
+B Y
+B Y
+B Y
+C Y
+C Y
+C Y
+B Y
+C Z
+B Y
+C Z
+A Z
+A Z
+C Z
+C Y
+C Z
+C Y
+A Z
+C X
+B X
+B Y
+C Y
+B Z
+C Z
+C X
+B Y
+A Z
+B Y
+C X
+B Z
+A X
+B Y
+A Z
+C Z
+C X
+C X
+C Y
+B Y
+B Y
+A Z
+A Z
+B Y
+B X
+A Z
+B Y
+C Y
+A X
+C Z
+B Y
+B X
+B Y
+C Y
+C Z
+B Z
+A Z
+B Y
+A X
+C X
+B Y
+A Z
+C X
+B Z
+C Y
+C Y
+C X
+C X
+C Y
+B Y
+B Y
+B Z
+B X
+C X
+B Z
+C X
+B X
+C Z
+C Z
+C X
+B Y
+C Y
+C X
+B Y
+A Z
+C Y
+C Z
+C Z
+C Y
+B Y
+A X
+C Z
+C X
+B Y
+C X
+C Z
+B Y
+C Y
+B Y
+C Y
+A Z
+B Z
+C Z
+C X
+B Z
+B Z
+B Y
+A Y
+C Y
+C Y
+B X
+B X
+B Y
+B Y
+B Y
+C X
+B Z
+B Y
+B Y
+B Y
+C X
+A X
+C Y
+A X
+B Y
+B Y
+B Y
+B Y
+B Y
+C Y
+C Y
+B Y
+B Y
+B Y
+B Y
+C Y
+B Y
+C X
+B Y
+B Y
+C X
+A Z
+A X
+C Y
+C Z
+B Y
+C X
+B Y
+B X
+A Z
+B X
+B Y
+B Y
+A Z
+B Y
+B Y
+B Y
+B Z
+A Z
+A X
+B Y
+A Z
+C Y
+B Y
+C X
+B Y
+C Y
+B Y
+B Y
+C X
+C Y
+A Y
+C X
+C Y
+B Y
+A Y
+A Z
+C Z
+A Y
+A Z
+B Y
+C Y
+C Y
+B Y
+B Y
+B Y
+B Y
+A Z
+B Y
+B Y
+B Y
+C X
+C X
+B Y
+C X
+B Y
+A Z
+B Y
+B X
+C Z
+C Y
+A Y
+B Y
+C Y
+B Y
+C Y
+C Y
+C Y
+C X
+C Y
+B Y
+B Y
+C Y
+B Y
+C Y
+A Z
+A X
+B Y
+A Z
+B Y
+C X
+C X
+B Y
+C Z
+B Y
+B Y
+C Y
+B Y
+C Z
+A Y
+B Y
+C Y
+B Y
+A Z
+C Y
+B Z
+C Y
+C Y
+C Z
+B Y
+C X
+B Z
+B Y
+B Y
+B Y
+C Z
+B Y
+B Y
+B Y
+A Z
+C X
+B Z
+B Y
+B Y
+C Y
+B Y
+C X
+B Y
+B Y
+C Y
+C X
+C Y
+B Y
+B Y
+C Y
+B Y
+A Y
+B Y
+A Z
+B Y
+B Y
+B X
+A Z
+B Y
+B Y
+C Y
+C X
+C Z
+A Z
+A Z
+C X
+B Y
+C Y
+B Y
+C X
+B Y
+B Y
+C Y
+C X
+B Y
+B Y
+B Y
+B Y
+B Y
+C X
+B Z
+B Z
+A Z
+B Z
+B Y
+B Z
+B Y
+C Y
+A Z
+A X
+B Y
+C Z
+B X
+A X
+C Y
+B Y
+B Y
+C Y
+B Y
+C Y
+B Y
+A Z
+B Y
+B Y
+A Z
+B Y
+B Y
+A Z
+B Y
+B Y
+B Y
+B Y
+C Y
+B Y
+A X
+A X
+B Y
+B Y
+A Y
+C Z
+A Z
+A Z
+B Y
+A Z
+C Y
+B Y
+B Y
+B Y
+B Y
+C Y
+B Y
+A X
+B X
+B Y
+B Y
+B Y
+B Y
+B X
+C Y
+B Y
+B Y
+B X
+C Y
+A Y
+B Y
+B Y
+B Y
+A X
+B Z
+C X
+A X
+C Z
+B Y
+B Y
+B Y
+C X
+B Y
+B Y
+B Y
+B Y
+C Y
+B Z
+B Z
+B Y
+B Z
+B Y
+B Y
+C Z
+C Y
+B Y
+C Z
+C Z
+B Y
+C X
+A Y
+B Y
+B Z
+A Z
+B Y
+C X
+B Y
+B Y
+C Z
+A Z
+B Y
+B X
+B Y
+C Y
+B Y
+B Z
+B Y
+B Y
+C X
+C X
+C Z
+B Y
+B Y
+B Y
+A Z
+A X
+B Y
+A Z
+B Y
+B Y
+B Y
+B Z
+C X
+C Z
+B Y
+B Y
+B Y
+C Z
+B X
+C Z
+A X
+B Y
+C Y
+B Y
+A Z
+A X
+C X
+B X
+A Z
+C X
+B Y
+C Y
+B X
+A Z
+C Y
+C Y
+B Z
+C X
+B Y
+C X
+C Z
+C Y
+B Y
+C Z
+B Y
+B Y
+C X
+B Y
+B Y
+B Y
+B Y
+B Y
+B Y
+C X
+B Y
+B Y
+B Y
+A Z
+B Y
+B Y
+C Z
+B Y
+B Y
+B Y
+C X
+A Z
+B Z
+C Y
+C Y
+B Y
+A X
+C Y
+B Y
+C Z
+B Z
+B Y
+B Y
+C Y
+B Y
+B Y
+B Y
+C Z
+A X
+B Y
+C Y
+A X
+B Y
+B Y
+A X
+B Y
+A Y
+C X
+A Z
+A Z
+C Y
+B Y
+C Z
+C Y
+C Y
+C Z
+A Z
+A X
+C Z
+B Y
+C X
+A Z
+C X
+B Y
+B Y
+B Y
+C Z
+C Y
+C X
+C Y
+A Y
+C X
+A Z
+A Z
+B Z
+C X
+B Y
+B Y
+C X
+A Z
+C Z
+C Z
+B Y
+B Y
+A Y
+C X
+B Z
+B Y
+B Y
+C X
+C X
+C Z
+C Z
+B Y
+B Y
+B X
+B Y
+B Y
+C Z
+C Y
+C Z
+B Y
+B Y
+B Y
+C Y
+B X
+C X
+A Z
+C X
+C X
+C Y
+B Y
+B Y
+C Y
+B Z
+B Z
+C X
+C Y
+B Y
+B Z
+B Y
+B X
+A Z
+C X
+B Z
+A Z
+C X
+B Y
+C Y
+C Y
+B Y
+B Y
+B Y
+B X
+A X
+B Y
+A X
+A Z
+C Y
+B Y
+B Y
+B Y
+B Y
+B Y
+C Z
+B X
+B Y
+C X
+A Z
+B Y
+B Y
+A Z
+B Y
+C Y
+C Z
+C X
+C Y
+B Y
+B Y
+B Z
+B Y
+A X
+C Y
+B Y
+A X
+B Y
+C X
+A Z
+B Y
+C X
+A Z
+B Y
+C X
+C Y
+C X
+B Z
+C Z
+B Y
+C Y
+C X
+C Y
+B Z
+B X
+A X
+C Z
+B Y
+B Y
+C Y
+B Z
+C X
+C X
+B Y
+B Y
+C Y
+B X
+B Y
+C Y
+B Y
+B Y
+A Z
+B Y
+B Y
+B Y
+A X
+A Z
+B Z
+B Z
+B Y
+A Z
+B Y
+C Y
+B Y
+C X
+B X
+B Y
+B Y
+B X
+C Z
+B Y
+C Z
+C X
+B Y
+C Z
+B Y
+C Y
+B Z
+C Y
+C Y
+C Z
+C Z
+A X
+B Y
+A Z
+B Y
+B X
+A X
+B Y
+B Y
+B Y
+C Y
+B Y
+B X
+B Z
+C Z
+B X
+B Z
+B Y
+C Y
+B Y
+B Z
+C X
+A Z
+B X
+B Z
+C X
+C Z
+B Y
+A Z
+C X
+C Y
+B Z
+B Y
+C Y
+B Y
+C Y
+B Y
+B Y
+B Y
+C Y
+B Y
+C Y
+C X
+C Z
+B Y
+B Y
+B X
+C Z
+B X
+A Z
+C Y
+A Z
+C X
+C Y
+B Y
+C Z
+B Z
+C Z
+C Y
+C X
+B Y
+C Z
+C X
+B Y
+B Y
+B Y
+B X
+B Y
+B Y
+C X
+A X
+B Z
+C X
+C Z
+B Y
+C Y
+B Z
+C Z
+B Y
+C X
+B Y
+B Y
+A Z
+C Z
+B Y
+C Z
+C X
+B Y
+B Y
+C X
+C X
+C Y
+B Y
+A X
+A Z
+B Y
+C X
+B Y
+B Y
+C Y
+B Y
+A Z
+A Z
+C X
+C Z
+C X
+C X
+A X
+B Y
+B Y
+C Y
+C Z
+C Y
+B Z
+C Y
+B Y
+B Y
+B Y
+C Y
+B Z
+B Y
+B Y
+B X
+C Y
+C Y
+B Y
+A X
+C X
+A X
+C Z
+C Y
+A Y
+B Y
+B Y
+B Z
+C X
+C X
+B Y
+A X
+B Y
+A Z
+B Y
+A Z
+C X
+C X
+B Y
+B Y
+B Y
+B Y
+A X
+B Y
+B Z
+C Y
+C X
+C Z
+C Z
+B Y
+C Z
+B Y
+B Y
+C X
+B Y
+A X
+A Z
+B Y
+A Z
+C X
+B Y
+C Y
+B Z
+C Z
+B Y
+B Y
+B Y
+B Y
+C Y
+C Z
+B X
+B Y
+A Y
+C Y
+B Z
+B Y
+C Y
+A Z
+B Y
+B Y
+C Y
+C Y
+A Y
+C Y
+A Z
+C Y
+B X
+B Y
+B Y
+C Y
+A Z
+C Y
+A Z
+B Y
+B Y
+B Y
+B Y
+A X
+C Y
+A Z
+B Y
+B Y
+B Y
+B Y
+B Z
+C Z
+C Y
+C X
+B Y
+C X
+B Y
+B Y
+B Y
+B Y
+A Z
+B Y
+C Y
+C Y
+A Z
+A X
+B Y
+C Y
+C Y
+B Y
+C Y
+C Y
+C Y
+C Z
+A Z
+C X
+C Y
+C X
+B Y
+B Y
+C X
+C Z
+C X
+C Z
+B X
+B Y
+C Z
+B Z
+A Z
+C Y
+B Z
+C Y
+B Y
+A X
+B Y
+A Z
+B Y
+A X
+B Y
+B X
+B Z
+B X
+B Y
+B Y
+B Y
+C X
+B Y
+B X
+C X
+B Y
+B Z
+B Y
+C Y
+B Y
+B Y
+C X
+A Z
+C X
+B Y
+C Y
+C Z
+B Y
+C Z
+B Y
+B Y
+B Y
+B Y
+C Z
+C X
+C Y
+C Z
+B X
+A Z
+A Z
+B Y
+B Z
+C Y
+A X
+B Y
+B Y
+A Z
+B Y
+B Y
+B Y
+B Y
+A Z
+C Z
+B Z
+C Y
+A Z
+C Y
+B Y
+B Y
+B Y
+B Z
+B Y
+C X
+C Z
+B X
+C X
+B Y
+C Z
+C X
+B Y
+A Z
+A Z
+B Y
+B Y
+B Y
+C X
+A Y
+B Y
+B Y
+A Z
+A Z
+C Z
+C Y
+B Y
+B Y
+A X
+B Z
+A X
+B Y
+A Z
+B Y
+C X
+B Y
+A Y
+B Y
+B Z
+B Y
+B Z
+B Y
+B Y
+C Y
+C Y
+B Y
+C X
+C Z
+B Y
+B Y
+B Y
+C Z
+A Z
+C X
+B Y
+B Z
+B Y
+C Y
+B Y
+C X
+B Y
+B Y
+C Y
+B Y
+B Y
+B Y
+B Y
+B Y
+B Y
+B X
+B Y
+B Y
+C X
+B Y
+B Z
+A Z
+A Z
+C X
+B X
+B X
+C Y
+C Z
+B Y
+C X
+A X
+B Y
+C X
+C Z
+C X
+B Y
+B Y
+C Y
+B Y
+B Y
+B Y
+A Z
+C Z
+C X
+B Y
+B Y
+A X
+B Y
+C Y
+B Y
+B Y
+C Y
+B X
+B X
+A X
+C Y
+C Z
+C Y
+B Y
+B Y
+C X
+A X
+A X
+C X
+B Y
+C X
+B Y
+B Y
+B Y
+C Y
+A Z
+B Z
+A Z
+B Y
+B X
+C Y
+B Z
+B Y
+A Z
+B Y
+C Y
+B Y
+C Y
+A X
+B Y
+B Y
+B Y
+C X
+A Z
+C Y
+B Y
+B Y
+B Y
+C X
+B Y
+C Y
+B Y
+B X
+C X
+B Y
+B Y
+C Y
+C X
+C Z
+C Z
+B Y
+B Y
+B Y
+B X
+C X
+B X
+A Y
+A Z
+C Y
+A X
+B Y
+B Y
+B Y
+A Z
+C Y
+C X
+C Y
+C Z
+A Z
+B Y
+B Y
+B Y
+B Y
+A Z
+B Y
+A Z
+B Y
+B Y
+C Y
+C Z
+C Y
+A Z
+C Y
+B Y
+C Y
+B X
+B Y
+A X
+C Z
+C Z
+A X
+C X
+C Z
+C X
+C X
+B Y
+A X
+A Z
+C Y
+B Y
+C X
+B Y
+B Y
+B X
+C Y
+C Z
+B Y
+B Z
+A Z
+C Y
+B Y
+A Z
+B Y
+C X
+C X
+B Z
+C Y
+B X
+B Y
+C Y
+B Z
+A Z
+C X
+C Y
+C X
+C Z
+B Z
+C Z
+B Y
+B X
+B Y
+B X
+B Y
+B Y
+B Y
+B Y
+C X
+C X
+C Y
+B Z
+C X
+B Y
+B Y
+B Z
+C Z
+C Y
+B Y
+B Y
+B Y
+C X
+B Z
+B Y
+B X
+B Y
+C Y
+C X
+C Z
+C X
+C Y
+B Y
+B Y
+B X
+B Y
+C X
+B X
+A X
+B Y
+C Y
+B Y
+A X
+C Y
+B Z
+B Z
+C X
+C Z
+C X
+B Y
+C Y
+C Y
+B Y
+C Z
+B Y
+C Y
+B Y
+C Y
+A Z
+B Z
+C X
+C X
+B Y
+B Y
+B Z
+B Y
+B Z
+A X
+C X
+C X
+B Y
+C X
+A Z
+C Y
+B Y
+A Z
+C Z
+B X
+C Y
+C X
+C X
+A Z
+B Y
+B Y
+C Z
+B Y
+A Y
+C Y
+B Y
+B X
+B Z
+C X
+B Y
+B X
+C Z
+B Y
+B X
+B Y
+B Y
+B Y
+A Z
+A Z
+B Z
+A Z
+C Y
+C Z
+B X
+C X
+A Z
+C X
+B Y
+B Y
+A X
+B X
+B Y
+B X
+B X
+A Y
+A Z
+C X
+B Z
+B Z
+C Y
+C Y
+B Y
+B Y
+B Y
+A Z
+A Z
+B Y
+B Y
+C Y
+C Y
+C Y
+C Z
+C X
+C Y
+B Y
+B X
+B Y
+A Y
+A X
+C Y
+B Y
+A Z
+B Y
+B Y
+C X
+C X
+B Y
+B Y
+C Y
+A Z
+B Y
+C Y
+C Z
+C Z
+C Y
+A Y
+B Y
+B Y
+C Y
+B X
+C Z
+C Z
+C Z
+B Y
+B Y
+B Y
+C Y
+A Z
+B Y
+A Z
+B Y
+A Z
+C X
+C Z
+C Y
+B Y
+A Z
+B Y
+B Y
+C Z
+B Y
+C X
+B Y
+C Y
+C Y
+B Y
+B Y
+A X
+C Z
+B Y
+C Y
+C X
+B Y
+B Y
+B Y
+B Z
+A Z
+B Y
+B Y
+B Y
+A Z
+B Y
+A X
+B Y
+B Y
+B Y
+C Y
+C X
+C Y
+A Z
+B Y
+C Y
+B Y
+C Y
+C Y
+C Y
+A X
+C Z
+B Y
+B Y
+C Z
+B Y
+B Y
+C Z
+B Z
+B Y
+C Y
+B Y
+B Y
+B Y
+B Y
+B X
+C X
+C Y
+B Y
+A Z
+B Y
+A X
+B Y
+B Y
+B Y
+B Y
+C Z
+C Z
+B Y
+A Z
+B Y
+C X
+C X
+C Y
+B X
+A X
+B X
+B Y
+C X
+C Z
+C Y
+C Y
+B Y
+C Z
+B Y
+B Y
+C Z
+A X
+B Y
+C Z
+B Z
+B Y
+C X
+C X
+B Y
+B Y
+B X
+C Z
+A Z
+A X
+B Y
+C X
+B Y
+B Y
+C Z
+B Z
+C Y
+B Y
+B X
+C X
+C Z
+B Z
+B Z
+C Y
+B Y
+A X
+B Y
+B Y
+C X
+B X
+A Z
+B Y
+A Z
+B Y
+B Y
+A Z
+C X
+C X
+B Y
+B X
+B Y
+A Z
+C Y
+C Z
+B Y
+B Y
+A X
+B Y
+C Y
+C Y
+B Y
+A X
+B Y
+B Y
+A Z
+C X
+C X
+C Y
+B Y
+A X
+B Y
+B Y
+C Y
+B Y
+B Y
+B Y
+B Z
+B Y
+C Y
+C Y
+B Y
+C X
+C X
+B Y
+C Y
+B Y
+C X
+B Y
+B Z
+B Y
+A Z
+A Z
+C X
+A Z
+A Z
+B Y
+B X
+C Z
+B Y
+B Y
+B Y
+B Y
+B Y
+C X
+C Y
+B Y
+A X
+C X
+C X
+C Y
+B Y
+C X
+C X
+C Z
+B Z
+C Y
+C X
+B Y
+B Y
+C X
+B X
+C Z
+B Y
+B Y
+C Y
+A Z
+C Y
+C X
+C Y
+B Y
+B Y
+C X
+C Y
+C Y
+C X
+B Z
+B Z
+B Y
+B Y
+C Y
+B Y
+C X
+A Z
+A X
+C Z
+B Y
+C Y
+C Y
+B Y
+B Y
+C Y
+B Y
diff --git a/day2/main.c b/day2/main.c
@@ -0,0 +1,78 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <err.h>
+
+int
+main (void)
+{
+ FILE *fp = fopen("input.txt", "r");
+ if (fp == NULL)
+ {
+ printf("Failed to open file %s", "input.txt");
+ exit(EXIT_FAILURE);
+ }
+
+ int totalScoreFirstPart = 0;
+ int totalScoreSecondPart = 0;
+
+ char *line = NULL;
+ size_t linesize = 0;
+ ssize_t linelen = 0;
+ while ((linelen = getline(&line, &linesize, fp)) != -1)
+ {
+ // Lazy string parsing
+ char opponentMove = line[0];
+ char myMove = line[2];
+
+ // Super good code
+ if (opponentMove == 'A' && myMove == 'X')
+ totalScoreFirstPart += 1 + 3;
+ else if (opponentMove == 'A' && myMove == 'Y')
+ totalScoreFirstPart += 2 + 6;
+ else if (opponentMove == 'A' && myMove == 'Z')
+ totalScoreFirstPart += 3 + 0;
+ else if (opponentMove == 'B' && myMove == 'X')
+ totalScoreFirstPart += 1 + 0;
+ else if (opponentMove == 'B' && myMove == 'Y')
+ totalScoreFirstPart += 2 + 3;
+ else if (opponentMove == 'B' && myMove == 'Z')
+ totalScoreFirstPart += 3 + 6;
+ else if (opponentMove == 'C' && myMove == 'X')
+ totalScoreFirstPart += 1 + 6;
+ else if (opponentMove == 'C' && myMove == 'Y')
+ totalScoreFirstPart += 2 + 0;
+ else if (opponentMove == 'C' && myMove == 'Z')
+ totalScoreFirstPart += 3 + 3;
+
+ // Super DUPER good code
+ char outcome = myMove;
+ if (opponentMove == 'A' && outcome == 'X')
+ totalScoreSecondPart += 3 + 0;
+ else if (opponentMove == 'A' && outcome == 'Y')
+ totalScoreSecondPart += 1 + 3;
+ else if (opponentMove == 'A' && outcome == 'Z')
+ totalScoreSecondPart += 2 + 6;
+ else if (opponentMove == 'B' && outcome == 'X')
+ totalScoreSecondPart += 1 + 0;
+ else if (opponentMove == 'B' && outcome == 'Y')
+ totalScoreSecondPart += 2 + 3;
+ else if (opponentMove == 'B' && outcome == 'Z')
+ totalScoreSecondPart += 3 + 6;
+ else if (opponentMove == 'C' && outcome == 'X')
+ totalScoreSecondPart += 2 + 0;
+ else if (opponentMove == 'C' && outcome == 'Y')
+ totalScoreSecondPart += 3 + 3;
+ else if (opponentMove == 'C' && outcome == 'Z')
+ totalScoreSecondPart += 1 + 6;
+ }
+ free(line);
+ if (ferror(fp))
+ err(1, "getline");
+ fclose(fp);
+
+ printf("PART 1: Your total score after following the strategy guide: %d\n", totalScoreFirstPart);
+ printf("PART 2: Your total score after following the real strategy guide: %d\n", totalScoreSecondPart);
+
+ exit(EXIT_SUCCESS);
+}