advent-of-code-2022

My solutions for AoC 2022
git clone https://git.sr.ht/~jbauer/advent-of-code-2022
Log | Files | Refs | README | LICENSE

commit ecc55586eda735aa361370e5f06db3a931f1ece9
parent 02d2b6c9e43d269ac1d7752d21e1cf606821f3d1
Author: Jake Bauer <jbauer@paritybit.ca>
Date:   Fri,  2 Dec 2022 09:04:24 -0500

Day 2 challenge complete

Diffstat:
Aday2/input.txt | 2500+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aday2/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); +}