diff --git a/README.md b/README.md index b406bad..57d79d6 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ These are my attempts on [AoC 2022](https://adventofcode.com/2022/) | Day | Part 1 | Part 2 | Language | |--------------|--------|--------|----------| | [01](day01) | ⭐ | ⭐ | Python | -| 02 | | | | +| [02](day02) | ⭐ | ⭐ | C | | 03 | | | | | 04 | | | | | 05 | | | | diff --git a/day02/input.txt b/day02/input.txt new file mode 100644 index 0000000..b806ad0 --- /dev/null +++ b/day02/input.txt @@ -0,0 +1,2500 @@ +A X +B X +C X +C Y +B Y +C Z +C X +C Y +C Y +B Y +B Y +C Z +C Y +A Y +B Z +B Z +C Y +B Z +A Y +C Y +B Y +C Y +B Y +B X +A Y +A Y +C Y +B X +C X +B Y +A Y +C Z +C X +B Y +B Y +A Y +C X +B Y +B Y +B Z +B Y +A X +C Y +A Y +B X +C Y +A Y +C X +A Z +A X +C Y +A Y +A Y +B Z +B Y +A Y +C Y +B Z +C Y +A Y +A Y +C Y +B Y +B X +B X +C Y +B Y +B X +A X +B Z +A X +B Y +A Y +B Z +B X +B Y +A Y +C X +C Y +C Y +A Y +A Z +C Z +A Y +B Z +C Y +A Y +C X +C Z +B Z +B Y +B Y +A Y +C Z +C Y +B Y +A Z +A Y +A Z +A Y +A Y +A Y +A Y +C Y +B Y +B Y +A Z +A Y +A Y +A X +B Z +C Y +A Y +B Y +B Y +A Y +A Y +B Y +B Y +C X +C Y +B Z +C Y +C Y +B Y +B Z +C X +A X +A X +A Z +B Y +B Z +C Y +C Y +C Y +A Y +C X +B X +B Y +B Y +C Y +C Z +C Y +A Y +C Y +B Z +C X +B Y +A Y +C Y +C Y +C Z +B X +B Y +B Y +A Y +C Z +C Y +B Y +C Y +B Z +C Y +A Y +B Y +B Z +C X +A Y +B Y +B Y +C Z +A Y +C Y +A X +B Y +B Y +B Y +B Z +B X +C Y +B X +C Z +B Y +B Y +C Y +B Y +B Z +A X +C Z +B Y +C Y +C Y +C X +C X +A Y +C Y +B Z +C Y +B Y +C Z +B X +A X +A Y +B Y +C Z +C Z +C Y +B X +B X +B X +B Y +B X +C Y +C Y +B X +B Y +B Z +B Z +C Y +C Y +A Y +B Y +B Y +B Y +B Y +B X +A Y +B Y +C Z +B Z +C Y +B Y +B Y +B X +A Y +C Z +C Y +C Y +C Y +C Z +C Y +B X +C X +C Z +B X +B Y +A Y +C Y +A Y +B Y +B X +C X +C X +C Y +C Y +C Y +B Y +C Y +A Y +B Y +A Y +C Z +B Y +C Y +A Y +B Y +A Y +A Y +B X +B Y +B Y +A X +C X +B X +C Y +A Y +B Y +A Y +C Z +B Y +C Z +B Z +B Y +A Y +C Y +C X +B X +C Y +A Z +A X +B Z +A Y +B X +C Y +C Y +C Y +A Y +C Z +A X +B Z +C Y +B Y +B Y +B Y +C Y +A Y +C X +B X +B X +C Y +B Z +C Y +B X +C Y +B Y +A Y +C Y +B Z +A Y +A Y +C Y +B Y +B X +A Y +C Z +B Y +C Z +B X +B Y +A Y +C Z +C Y +C Y +B Y +C Y +B X +C Y +B Y +B X +C Y +B X +A X +B Y +A Z +C Y +A Y +B Y +B X +C Y +B X +C Y +C Y +B Y +C Y +C Y +B X +B X +C Y +A Y +B X +C Y +B Y +A Y +B X +B Y +A Y +A Z +A Y +C Y +A X +B Y +C Z +B Y +A Y +B Y +A X +C X +B Y +A Y +A Y +B Y +B Y +B Y +A Y +B Z +C X +A Y +B X +B Y +A Z +B Z +A X +B Y +C X +C X +A Y +B Y +C Y +B Z +B Y +A Z +C Z +A Y +A Y +A X +B Y +B Y +C X +A Y +C Z +A Y +A Y +B Y +A Y +B Z +B Y +B X +C X +C Y +A Y +B Z +A Y +B Y +A Y +A Y +C Y +A X +C Y +B X +B X +B Y +B X +B Z +B Y +C Y +C Y +C Z +B Z +A Z +B Y +C Y +C Y +C Y +B Y +A Y +B Z +C Y +C Z +B Y +B Y +B Y +B Y +C X +B Z +A Y +A Y +B Y +B X +B Y +B X +A Y +C Y +B X +B Y +C Y +B Y +C Y +C Y +C X +B Y +B X +C Z +B Y +A Y +B X +C Y +A Z +C Y +C X +B Y +C Z +C Y +B X +C Y +A Y +A X +B X +C X +A Y +C Z +C Y +B Y +B X +C Y +B X +B Z +B Z +B Y +B Z +B X +C Y +C Y +B Y +B Y +C Y +B Y +B Y +B Z +B Y +A X +B Y +C X +B Y +A X +C Y +B Y +A Y +B Z +B Z +A Y +A X +C Y +B Y +B Y +C X +A Y +C Y +B Y +C Z +B X +A Y +A Y +B Z +A Y +B X +B X +C Y +A X +B X +B X +B Y +B Y +B Y +B Z +A Y +C Y +A Y +C Y +A Z +C X +B Y +C Y +B Y +C Y +B X +B Z +A X +A Y +C Y +C Y +B Y +A Y +A Y +A Y +A Y +A Y +C Y +C X +B Y +B Z +B Z +B Y +B Z +B Z +B X +A Y +B Z +B Y +C Z +B Y +C Z +A Z +C Y +C X +B Y +B Y +B Y +A Z +C Y +A Y +B Y +A Y +A Y +A X +B Y +B Z +B X +A X +C Z +B X +C Y +B X +B Y +B X +A Y +B X +B Y +C Z +C Y +C X +B Y +B Y +A X +C Y +B Y +A Y +C Y +C X +B Z +C Y +A Y +C X +B Y +C Y +C X +C X +C Z +C Y +C X +A Y +C Y +C Y +B X +B X +B Y +C Z +B Y +B Z +B Y +C Y +B X +A Y +B Y +B Y +B X +B Y +B Y +C Y +B Z +B Y +C X +A Y +A Y +C Y +C Z +B Y +B X +C Y +C Y +C Y +A Y +C X +A Y +B Y +B X +A Y +B Y +C Y +B X +C Y +B Y +A Y +A Z +C Y +B Y +C Y +A Y +B X +B X +B Y +C Y +B X +B Y +C Z +C Y +C Y +A Y +C Y +B Z +B Z +B Y +C Y +C Z +A X +B Y +B Z +C Z +B X +A Y +A X +B X +B X +A Z +B X +C Y +C Y +B Y +C Y +B Y +A Y +B Y +C X +B Z +C X +B X +C X +B Y +C Y +C Y +B Y +B Y +C Y +C X +B X +A Y +C Y +A X +B Y +B Y +B Y +C Y +B Z +C Y +C Z +B X +C Y +A Y +B Y +A Y +C Y +A Z +B Z +B Y +A Y +B Z +B Y +C X +B Y +C Y +C Y +A Y +C Y +A Y +B Y +C Z +C X +C Y +C X +B X +B Y +C Z +A Y +C Y +C Z +C Y +C Y +C Y +B Y +B Z +B Y +C Y +C Z +B Z +C Y +C X +A Z +B Y +A Y +B Y +B Y +A X +C Z +C Y +B Y +B Y +C Y +C Y +B Y +C Y +C Y +B X +B Y +C X +B X +B Y +C X +C Y +B Z +C X +C X +B Y +A Y +B Y +C Y +B X +A Y +C Y +C X +C X +A Z +B Z +A Y +C Y +C Y +A X +A Y +B Y +B Y +C Y +C Y +C Y +C Z +B Y +C Y +A Y +B X +C Z +A Y +C X +B Y +B Y +B Y +C Z +B Y +C Y +B Y +B X +C Y +C Y +A Y +B Y +B Y +B X +B Y +B Z +B Y +A X +C Y +B X +B Y +B X +B Y +B Y +C Y +C Y +C Y +B Y +B Y +B X +A Y +C Z +B X +B X +C X +C Y +A Y +B Y +B Y +C Y +C Y +C Z +A X +B X +A X +A Z +A X +C Y +C Y +A X +B Y +C Z +B X +C Y +B X +B Y +B Y +B X +C Y +B X +A Y +B Y +B Y +B X +B Y +C Y +B Y +B Y +C Y +C Y +B X +C Y +B X +C Y +C Y +C Z +C Y +B X +B Y +A Y +C Y +A Y +B Y +C Y +C Y +B X +B Y +B Y +A Y +B Y +A Y +B X +A X +C X +B Y +A Z +A Y +B X +B X +A Y +B X +B X +C X +C X +B X +B Z +C Z +A Y +B X +B Y +B Z +C Y +C Y +C Y +A Z +B X +B Z +B X +B Y +B Z +B Y +B Z +C Y +B Y +C X +C Y +B X +C Z +A Z +A X +B Y +C Y +A Y +C Y +A Y +A X +C Y +B Y +B Y +A Y +C Y +C X +B Z +B Y +B Z +C Y +A Y +C X +A Y +C Y +C Y +B X +C Y +A Y +C Y +C X +B Y +B Z +A Y +B X +A X +A Y +C Y +B Y +A Y +B Y +C Y +C Z +B X +A Y +A Y +A Y +A Z +A Y +B Y +C Y +C Y +B Z +B X +C Y +A Y +B X +B Y +B X +C Y +B Y +A X +C X +C Y +B X +B Y +B Z +B X +B Y +A Y +B X +B Z +C Y +A Y +C X +C Z +C X +A Z +B Z +B Y +C X +B X +C Y +B Y +A Y +C X +A Y +B X +B Y +C Y +B Y +C Y +B Z +B X +A Y +A X +C Y +C Y +B Y +B Y +B Y +B Y +C Z +A X +C Y +C Y +B Y +B Z +C Z +A Y +B X +C Y +C Y +B Z +B Y +B Y +B X +B Z +B Y +C Y +C Y +C Y +B Y +A X +A Y +C Y +A Y +A X +A Y +C Y +B X +C Y +C X +B Y +B Y +C Z +C Z +B Y +B Y +C X +C Y +B Z +A Y +C X +B X +C Y +B Y +B Z +A Y +B Z +B X +B Y +A Y +B Y +C Z +A Y +B X +A Y +B Y +B X +A Y +C Y +A Y +B Z +B Z +B Y +A X +A Y +C Z +B Y +B Z +C Y +B Y +B X +B Z +B Y +A X +A Y +C Z +C Y +A Z +B Z +B X +B X +B Y +C Y +B Y +C Y +B Y +B Z +C Z +B X +A Y +C Y +C Y +C Y +C X +C Y +A Y +B X +A Y +B X +A Y +C Y +A Y +B Y +B Y +C Z +B Y +C Y +C Y +B Z +A Y +C Y +B Y +B Y +C Y +C Z +B X +A Y +C X +C Y +B Y +B X +A Y +B Y +A Y +A X +C X +C Y +C Y +A Y +B Y +A Y +A Y +A Y +B X +B Z +C Z +C Z +B X +C Y +B X +C Y +B X +C Y +C Y +C Y +B X +B Y +A Z +C Y +B X +C Y +B Y +B Y +C Y +A Y +C Y +B X +B Y +A X +C Y +C Y +B Y +B X +B Z +C Z +A Y +A Y +B Y +A X +A Y +B X +C Y +B Z +B Y +B Z +B Y +A Y +B Y +B Y +B X +A X +B Z +B Y +A Y +B X +B Z +B Y +B X +C Z +C Z +B X +A Y +C Y +C Y +B Y +C Y +B Y +B Y +B Y +B X +B Z +B Z +B Y +B X +B Y +B X +B Y +C Z +C Y +B Z +C Z +C Y +B Y +C X +C Z +B X +C Y +C Y +B Y +C Y +B Z +B Y +B Y +A Y +C Y +C X +A Y +C Y +B X +B Y +C Y +B X +C Y +C Y +C X +C Z +B X +C X +A Y +B X +A Y +B Z +A Z +C Y +A Y +A X +B Y +B Z +A Y +B Y +C Y +A Y +B Y +C X +C Y +C Y +C X +C X +C Y +B X +B Z +C X +B Y +C Y +C Y +C Y +C Z +B Z +C Z +B Z +C X +B Y +A Z +C Z +B Y +B Y +B Y +C Y +B X +B X +B Y +C Y +C X +A Y +C Z +B Z +A Y +B Y +B Z +C Y +B X +C X +A Y +B Y +B Y +C Z +B X +A Z +C Z +B X +C Y +B X +C Y +C X +C Y +C Y +C Y +B Y +B Z +B Z +C Y +B Z +C Y +C Z +B Y +C Y +C Y +C Z +B X +A Y +B Y +B Y +B Y +A Z +B X +C Y +C Y +A Y +C Y +C Y +B X +C X +A Y +B Y +A Y +C Z +A Y +C Z +B Z +A Z +A Y +B X +C Y +B X +C Y +C X +A Y +B Y +B Y +C Z +C Z +B Z +C Y +B Y +B Z +B X +A Z +C Y +C X +B Y +C Z +A Y +B X +C X +C X +B Z +C X +B Z +B Z +A Y +B Y +B X +B Z +C X +B Y +A Y +C Y +C Y +B Y +B Z +C X +B Y +B Y +C Y +A Y +C Z +C Z +B Y +B Y +B X +C Y +B X +B Y +C Y +C Y +B X +B Z +B Y +C Z +A Y +A X +C Y +A Y +B Z +B X +B Z +B Z +B Y +B Y +B Y +A Y +A X +A Y +B Y +A Y +C Y +C Y +C Y +B Y +C Y +C Y +B X +C Y +B Y +A Y +A Y +C Z +B Y +B X +C X +B X +B Y +A Y +B X +B Y +B Z +C Y +A Y +A Z +B X +C Y +C X +B Y +B X +C Y +C Z +C Y +A Y +A X +C Z +C X +A Y +A X +B Y +C X +C X +C Y +C Z +C X +B Z +B Y +A Y +B Y +C Y +C Y +C Y +C Y +C X +B Y +A Y +A Y +C Y +A Y +A Y +C Y +A Y +C X +B X +A Y +A Y +A Y +A Y +B X +C Y +A Y +C Y +B Y +B Y +C Y +B X +C Y +A Y +C Z +A X +B X +C Y +C Y +B Y +A Y +A Y +C Y +C X +B X +B Z +B X +C X +A Y +B Y +B X +B Y +B Z +A Y +B Y +B Z +A Y +C Z +B Y +C X +C Y +A Y +C Z +C Y +B X +B Y +C Y +C Z +A Y +B X +B X +A Y +B Z +B Y +C Z +B X +B X +C Z +A Y +C Z +A Y +C X +B X +C Y +A Y +B Z +B Y +B X +C Z +A Y +B X +C X +C Y +B Y +C Z +C Y +C Y +A Y +C Z +C Y +A Y +B Y +B Y +C Y +A Y +B Y +B Y +B Z +A Y +C Z +A Z +C Z +B X +B Y +C X +A Y +A Y +C Y +A Y +B Y +C X +A X +A Y +B Y +C Y +C X +A Y +A Y +B X +C Y +B Y +C Z +C X +B X +C Y +A X +A Y +A Y +B Y +C Y +C Z +A Y +B Y +C Y +C Y +B X +A Y +B Y +B X +C Y +B Z +C Y +B X +A Y +B Y +C Y +C Z +B Y +C Y +A Z +C Z +B X +B Y +C Y +B Y +A Y +B Y +B X +C Z +C Z +C X +B Y +C Y +C Y +B Y +B Y +A Y +B Z +B X +C Y +B Y +C Y +B Z +C Z +C Z +C Y +B Y +A Y +C X +B X +B X +B Y +C Y +C Y +B Y +B Z +C Y +B X +C Y +C Z +B X +A Y +B X +C Y +C X +A Y +B X +A Y +A Y +C Y +B Y +C Y +B X +C Y +B Y +C Y +B X +C Y +B Y +A Y +A Y +C Z +B X +C Y +C Z +B Y +A X +C X +B X +B X +C Y +B X +C X +B Y +A Y +B Y +C Y +B Y +C Y +C Y +A X +C X +C Y +B Y +B Y +C Y +C Y +A Y +A Y +C Z +C Y +C Y +B X +A Y +C Z +B Y +B Y +B Y +C Z +B Z +B Z +C X +C Y +B Y +B Y +A Y +C Y +C Y +B Y +C Y +A Y +C Y +B Y +C Y +B Z +B Y +A Y +B Y +B X +C Z +C X +C X +A Y +C Z +B Y +B X +A Y +B Y +A X +B Y +B Y +B Y +B X +C Y +C Y +A Y +A Y +B Y +B Z +B Y +B X +B Z +C X +B Y +A Y +B Z +B X +A Y +B Y +A Y +B X +B X +B X +B Y +C X +B X +C X +C Y +B Y +A X +B Y +C Y +B Y +C Y +B Y +B Y +A Y +B Z +B X +B Y +B Y +B Y +A Z +A Y +C Y +C Z +C X +B Z +C Y +B Y +A Y +B X +B Y +C X +B X +B Y +C Y +B Z +C Y +B Z +B Z +B Y +B X +B Y +B Y +B Y +C Y +A Y +A X +C Y +B Y +C Z +B Z +C Y +C X +B X +C X +B X +C Z +A Y +C Y +B Z +C Y +A X +B Z +B Y +B X +B Y +B X +C X +C X +B Z +B Z +C Y +B Y +B X +B X +B Z +A Y +A Y +A Y +B Z +B X +C Z +B Y +B Y +C Y +C Y +B X +B Y +C Y +B Y +B Y +A X +B Z +A Z +B Z +C X +B Z +A Y +B Z +B Y +B Z +A Y +B Y +C Y +C Z +B Y +C X +B X +B Y +A Y +B Z +C Y +C X +C Z +A Y +B Y +C Y +A X +C Z +B X +C Y +A Y +B Y +B Z +A Y +B X +C Y +B Y +C Z +C Y +B Y +B Y +C Y +C Y +C Y +A Y +B Z +C Y +B X +A Y +C Y +A Y +A X +B Z +A Y +B X +B Y +B X +A Y +C Z +B Y +B Z +C X +C Y +C Y +B Z +B Y +C Y +C X +C Y +C Y +B Y +B Y +A Y +B X +C Y +C Y +C Y +C Y +B Y +B Y +C Z +C X +B Y +C Z +A Y +B X +A Y +B Y +C X +B X +B X +B Y +A X +C X +C Y +B Y +C Y +C X +B Y +C Z +B Y +A Y +C Y +C Y +A X +A Y +C Y +A Y +A Y +C Y +A Y +B Y +A Y +B Z +B X +A X +A X +A Z +B Y +B Y +C X +C Y +C X +C X +A Y +B X +B Y +B Y +A X +B X +B Y +B Y +C Y +B Y +C Y +C X +A X +C Y +B Y +C Y +B Y +C Z +B X +B Y +B X +B X +C Y +B Y +A X +C Y +B Y +B X +A Y +B X +A Y +C Y +B Z +B Y +A Y +A Y +B Y +B X +B Y +C Y +B Y +B Y +A Y +A Y +C Y +B Y +C Z +C X +C Z +C X +C Z +A Y +B Y +A Y +C Y +C Y +B Y +C Y +B X +B X +A Y +B Y +B Y +A Y +B X +B Y +B Y +C X +C Y +C X +C Y +C Y +C Y +C X +C Z +B X +B Y +C Y +B Y +B Y +C Y +B X +C Y +B Y +B Y +B Z +B X +A Z +C Y +C Y +A Y +B Y +B Y +A Y +B X +C Y +B Y +B Y +B Z +B X +C Y +B Y +A Y +B Z +C Y +C X +C Y +C Y +B Y +A Y +C Y +C X +A Y +B Y +B Z +B X +C Z +A X +C Y +B Y +B Z +C Y +B Y +B Y +B Y +B Y +C Y +B Y +C Y +B Y +A Y +A Y +A X +B Y +C Y +C Y +C Y +C X +C Z +C X +B X +A Y +C Y +A Y +B Y +C Y +C Z +A Y +B X +B X +A Y +B X +C Y +B Y +B Y +B Y +B Y +C Z +C Y +B Y +B X +A Y +B Z +A Y +C Y +B Z +A Y +B Y +C Y +C Y +B Y +B Y +C Y +A Z +C Y +C X +C Y +C Y +C Y +B X +C Y +A Y +C Y +B X +B Y +C Y +C X +B Y +B Y +A Y +B X +A Y +A Y +B Y +A Y +C Y +B Y +B Z +A Y +C Z +B Y +B Y +B X +A Y +B X +C Y +A Y +A Y +A Y +B Y +B Z +C Y +C Y +B X +A Y +C Y +A Y +B Y +B X +B Y +B Y +C X +B Y +B Y +B Y +B Y +A Y +A Y +C Y +A X +B X +A Y +B X +B Z +B Z +B Z +B Y +B Y +C Y +C Y +C Z +B Z +B Z +C Y +B Y +B Y +C X +C Y +C Y +B Y +A Y +B X +A Y +B Y +A Y +C Y +B Z +A Y +B Y +B Y +B Y +C Z +A Y +A Y +C Y +B Y +C Y +B Y +C Y +B Z +C Y +C X +C Y +C Y +B Y +A X +C Y +A Y +C X +A X +A Y +B Z +C Y +C Y +B Y +C Y +C Y +B Y +C Y +C Z +B Y +A X +C Y +B X +A Y +C Y +B Z +B Y +B Z +A Y +B Y +B Z +C X +B Y +C Y +A X +C X +A X +B Y +B X +C Y +C Y +B Y +B Y +C Y +B Z +C X +A Y +A Y +B Y +B X +B Y +A Y +B Y +B Z +C X +A Y +B X +C Y +C Y +A X +B Y +C Z +B X +B Y +B Y +C Y +B Z +B Y +B Z +A Y +C Y +C Y +B Y +C Z +C Y +A X +A Y +C Y +B Z +A Y +A X +C Y +B X +B X +A Y +B Y +B Z +A Y +C Y +B Y +C Z +C Y +C Y +B Y +C Y +B Z +C Y +B Y +C Z +A X +A Y +A Z +C Y +B Y +B Z +B X +B X +C Y +A X +C Y +B X +B X +C Y +A Z +B X +A Z +B Y +B Y +A Y +B Z +C Y +B Y +C Y +C Y +A Y +C Y +B Y +C Z +C Z +B Y +B X +C Y +C Y +C Y +B Y +C Y +B Z +B Z +A X +C X +B X +C Z +C Y +B X +B Y +A Z +C Y +B Z +B Y +C Y +B X +B Z +B Y +A Y +B Y +B X +C Y +B Y +B Z +C Y +C Z +C Z +C Y +A Y +C X +B Y +A Y +B Z +C Y +A X +C X +C Z +C Z +A Y +B Y +C X +C Y +C Y +B X +C X +C Y +B X +B X +C Y +B Y +B Y +B Y +B Y diff --git a/day02/input_demo.txt b/day02/input_demo.txt new file mode 100644 index 0000000..db60e36 --- /dev/null +++ b/day02/input_demo.txt @@ -0,0 +1,3 @@ +A Y +B X +C Z diff --git a/day02/solution.c b/day02/solution.c new file mode 100644 index 0000000..9dd492a --- /dev/null +++ b/day02/solution.c @@ -0,0 +1,81 @@ +#include + +int main(int argc, char *argv[]) { + if (argc != 2) { + printf("Usage: %s ", argv[0]); + return 1; + } + + FILE *fp = fopen(argv[1], "r"); + if (fp == NULL) { + printf("Could not open file %s", argv[1]); + return 1; + } + + // Each line looks like this: + // A X + // One byte Action, one space, one byte Reaction + + int score_1 = 0; + int score_2 = 0; + + char line[5]; + + while (fgets(line, sizeof(line), fp)) { + + char action = line[0] - 'A'; // Map A-C to 0-2 + char reaction = line[2] - 'X'; // Map X-Z to 0-2 + + // Points for reaction + score_1 += reaction + 1; + + // Points for win/draw/lose + int points[] = {3,6,0}; // tie, win, lsoe + score_1 += points[(reaction - action + 3) % 3]; + + // Part 2 + char winstate = reaction; + + score_2 += winstate*3; + score_2 += (action + (winstate+2)) % 3 + 1; + + } + + fclose(fp); + + printf("Part 1 Score: %d\n", score_1); + printf("Part 2 Score: %d\n", score_2); + return 0; +} + + +/* int simplifiedSolution(char action, char reaction) { */ +/* int score_1 = 0; */ +/* int score_2 = 0; */ + +/* score_1 += reaction + 1; */ +/* if ((reaction - action + 3) % 3 == 1) { */ +/* // Win */ +/* score_1 += 6; */ +/* } else if (action == reaction) { */ +/* // Draw */ +/* score_1 += 3; */ +/* } else { */ +/* // Lose */ +/* } */ + +/* if (winstate == 0) { */ +/* // Need to lose */ +/* score_2 += 0; */ +/* score_2 += (action+2) % 3; */ +/* } else if (winstate == 1) { */ +/* // Need to draw */ +/* score_2 += 3; */ +/* score_2 += action; */ +/* } else { */ +/* // Need to win */ +/* score_2 += 6; */ +/* score_2 += ((action+1) % 3); */ +/* } */ +/* score_2 += 1; // Because of zero indexing */ +/* } */ diff --git a/day02/testcases.txt b/day02/testcases.txt new file mode 100644 index 0000000..1d5e8eb --- /dev/null +++ b/day02/testcases.txt @@ -0,0 +1,9 @@ +A X +A Y +A Z +B X +B Y +B Z +C X +C Y +C Z