diff options
| author | Mistivia <i@mistivia.com> | 2024-01-27 14:28:51 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2024-01-27 14:28:51 +0800 |
| commit | 087a111b3417cbda03a3453b3d16dd4d1cf54a9e (patch) | |
| tree | 000a15054865c3fb974970238568bb1d81a3f29e /advent-of-code/2022/02/1.c | |
| parent | 203658f4a5b8649d0142ab8ff6440eb0eefa48e9 (diff) | |
add aoc 2022
Diffstat (limited to 'advent-of-code/2022/02/1.c')
| -rw-r--r-- | advent-of-code/2022/02/1.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/advent-of-code/2022/02/1.c b/advent-of-code/2022/02/1.c new file mode 100644 index 0000000..a699612 --- /dev/null +++ b/advent-of-code/2022/02/1.c @@ -0,0 +1,30 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#define BUFSZ 1024 + +char buf[BUFSZ]; +int valuetbl[3] = {1, 2, 3}; +int wintbl[3][3] = { + {3, 6, 0}, + {0, 3, 6}, + {6, 0, 3} +}; + + +int score(char a, char b) { + return valuetbl[b - 'X'] + wintbl[a - 'A'][b - 'X']; +} + +int main() { + FILE *fp = fopen("input", "r"); + if (fp == NULL) return -1; + int scr = 0; + while (fgets(buf, BUFSZ, fp)) { + if (strlen(buf) <= 1) continue; + scr += score(buf[0], buf[2]); + } + printf("%d\n", scr); + return 0; +} |
