diff options
| author | Bond_009 <bond.009@outlook.com> | 2022-12-01 22:30:22 +0100 |
|---|---|---|
| committer | Bond_009 <bond.009@outlook.com> | 2022-12-01 22:30:22 +0100 |
| commit | baf4910870a6e8999802b9a4a22eabd4142a34e3 (patch) | |
| tree | 2d11443dc21e53bd0d99d015cf789937d6d95862 /12 | |
| parent | 49d0c908f24b2c193c9deed1716fe36061ba26a1 (diff) | |
Move all Advent of Codes into one repo
Diffstat (limited to '12')
| -rw-r--r-- | 12/input | 793 | ||||
| -rw-r--r-- | 12/part1.c | 78 | ||||
| -rw-r--r-- | 12/part2.c | 66 | ||||
| -rw-r--r-- | 12/testinput | 5 |
4 files changed, 0 insertions, 942 deletions
diff --git a/12/input b/12/input deleted file mode 100644 index 0abcff3..0000000 --- a/12/input +++ /dev/null @@ -1,793 +0,0 @@ -F20 -L90 -E5 -S1 -R180 -F67 -S3 -F75 -L180 -W4 -N4 -F88 -L90 -S2 -E2 -L180 -S4 -F3 -L90 -N3 -L180 -N5 -E2 -N1 -W5 -L180 -E3 -F50 -E1 -F84 -S4 -W3 -L90 -W1 -N1 -L90 -F7 -L90 -N5 -R90 -F35 -E2 -F100 -E5 -R90 -W1 -F85 -R90 -W4 -S4 -R180 -F20 -R90 -N5 -W1 -S3 -F77 -R90 -N1 -W2 -R90 -N5 -F25 -E2 -R90 -E5 -W5 -S3 -F59 -N3 -L90 -F1 -N5 -F31 -R90 -S5 -R90 -E1 -F81 -S3 -L90 -F79 -S3 -W1 -F25 -E2 -N4 -R90 -F16 -R180 -F29 -S5 -W1 -L90 -F50 -E5 -L90 -W2 -L90 -N2 -W1 -R90 -F65 -E3 -F21 -W3 -S5 -L90 -N4 -R180 -N4 -F37 -W1 -F40 -W1 -F78 -S1 -L90 -E2 -F12 -L90 -W3 -F16 -N1 -L90 -R90 -N2 -R90 -N2 -F5 -R90 -F43 -L90 -E5 -F89 -N3 -E3 -S3 -W1 -F48 -E2 -N2 -L180 -F78 -N5 -L90 -F14 -N3 -R180 -E4 -F27 -N5 -R90 -F68 -L270 -W5 -F59 -W1 -F98 -E3 -F47 -R270 -F43 -L90 -F79 -L90 -F94 -W1 -F40 -R90 -W4 -S3 -F13 -E3 -S5 -L180 -S3 -L270 -W4 -R90 -N3 -F64 -E2 -R90 -F4 -E5 -S3 -R90 -W1 -E3 -R90 -E5 -S1 -R180 -W1 -F36 -E1 -F45 -L90 -F92 -W3 -N3 -W2 -R90 -W2 -F79 -E2 -R90 -S4 -N4 -E1 -N4 -R90 -F71 -E3 -S4 -L90 -E1 -F10 -N3 -F53 -E5 -S5 -R90 -F85 -N2 -W4 -R90 -F64 -W1 -S2 -L90 -N1 -W1 -F40 -F7 -S3 -F20 -S3 -F63 -F97 -N5 -F23 -N3 -F20 -L90 -S3 -E3 -F54 -N5 -F79 -N1 -F50 -L90 -F10 -R90 -W3 -S1 -R180 -F93 -E1 -F73 -L90 -E3 -N3 -L180 -F1 -E1 -N2 -W2 -L90 -W2 -L90 -N4 -F97 -W2 -S1 -F89 -E3 -L90 -S5 -R90 -N3 -E2 -L90 -F59 -R90 -S4 -F53 -W3 -S3 -R90 -F35 -R180 -W1 -F32 -N2 -W3 -L90 -F55 -N3 -E3 -R90 -F50 -N5 -L90 -S3 -E3 -R90 -E4 -S2 -R90 -N4 -W1 -R90 -F44 -R90 -F56 -W3 -S3 -L90 -S2 -E4 -F91 -S2 -R90 -N3 -R90 -W1 -S1 -F4 -L90 -E3 -L180 -N5 -F67 -F50 -S3 -F71 -L90 -F81 -R90 -E1 -F27 -W2 -N5 -E5 -F99 -R90 -F30 -F98 -L90 -F20 -S2 -E2 -N2 -E4 -R180 -W2 -S5 -L90 -N5 -F59 -E1 -N3 -F42 -E2 -N4 -W1 -R90 -E4 -L180 -F92 -R90 -N4 -W3 -L180 -S3 -W2 -N2 -L90 -F26 -S1 -E5 -R90 -E2 -L90 -W4 -F96 -E5 -F4 -F98 -E3 -F77 -R180 -E4 -F28 -E3 -W2 -N3 -F23 -N3 -L90 -W5 -R90 -L90 -N3 -W3 -F97 -R90 -E3 -F22 -L180 -S2 -F22 -W2 -S5 -W5 -F40 -E3 -L90 -E1 -S3 -L90 -W3 -E5 -F69 -L90 -W5 -N4 -L90 -N3 -F49 -S2 -E2 -F41 -W2 -F61 -E3 -R90 -W5 -L180 -E4 -F52 -E2 -F86 -R270 -F27 -W5 -R90 -E1 -S4 -F3 -R90 -E3 -F28 -F31 -S4 -F81 -S5 -F89 -E5 -N2 -F21 -E5 -L180 -S4 -L180 -S3 -E3 -R180 -F58 -E5 -F8 -W2 -R90 -N3 -L270 -S1 -F67 -W4 -N2 -L180 -L90 -E5 -L180 -S3 -W2 -R180 -F70 -R90 -S5 -F40 -S1 -R90 -N1 -R90 -S3 -R90 -E2 -R90 -F86 -R90 -F33 -W2 -N5 -R180 -W5 -S4 -F1 -E2 -L90 -S3 -F68 -E3 -R90 -S4 -R90 -W2 -F51 -L90 -W1 -N2 -L90 -F40 -N1 -R90 -W1 -S5 -F39 -L90 -F61 -L90 -N4 -W5 -F5 -E2 -N3 -F67 -S4 -F44 -R180 -F4 -L180 -N2 -L90 -E5 -L270 -E1 -L90 -F99 -R90 -N2 -E4 -R90 -F96 -E1 -N4 -L90 -W5 -R270 -E2 -L90 -F33 -R90 -F11 -N1 -R90 -E5 -R90 -W1 -F61 -R90 -F98 -R180 -F86 -N5 -L180 -W4 -S3 -R180 -F98 -E5 -S4 -F33 -N2 -E4 -L90 -F36 -S1 -E1 -F92 -F48 -W3 -N4 -F2 -E4 -F98 -W5 -F67 -S3 -F60 -N5 -R90 -S2 -L90 -N5 -L180 -W2 -N4 -L90 -N4 -L90 -F90 -E5 -L90 -S1 -W1 -N2 -F76 -S4 -E5 -F5 -S4 -R90 -F41 -E5 -N5 -R90 -N5 -E2 -F13 -W2 -N5 -L180 -N5 -L90 -S3 -W1 -S1 -E1 -E3 -S5 -R90 -S1 -W3 -R90 -E2 -F37 -L90 -N3 -E4 -F85 -S1 -F27 -S5 -F10 -S2 -L90 -E1 -S3 -F6 -N5 -E5 -R90 -W2 -F2 -N4 -F73 -R90 -S5 -L90 -F87 -L90 -F100 -L90 -N3 -E3 -F90 -R90 -N5 -N3 -F80 -N2 -F88 -R90 -S5 -L90 -F88 -R90 -W2 -S4 -N2 -F9 -S3 -E4 -R180 -F60 -W2 -F93 -E2 -F4 -L90 -F20 -R180 -F87 -W2 -F75 -S3 -L180 -W3 -R180 -W1 -R90 -E1 -R90 -N4 -W2 -R90 -W1 -F74 -S1 -W4 -S3 -F59 -R270 -W1 -N5 -F42 -F34 -W3 -R270 -E1 -L90 -W3 -R270 -F57 -N2 -E3 -L270 -F57 -R90 -F68 -E1 -L90 -E2 -F4 -N2 -F28 -N4 -L90 -N4 -E5 -N2 -R90 -F89 -R270 -N4 -L90 -W4 -L90 -W4 -F92 -S1 -F77 -N2 -E1 -R90 -F72 -N5 -R90 -W1 -W3 -F25 -E1 -S4 -E3 -F95 -W3 -F72 -S3 -E5 -N4 -E1 -R180 -F73 -N1 -W2 -S5 -E3 -R180 -F68 -F4 diff --git a/12/part1.c b/12/part1.c deleted file mode 100644 index 7ee0f4a..0000000 --- a/12/part1.c +++ /dev/null @@ -1,78 +0,0 @@ -#include <stdio.h> -#include <stdint.h> -#include <stdlib.h> -#include <malloc.h> -#include <string.h> - -#define MAX_INPUT_WIDTH 128 -#define MAX_INPUT_HEIGTH 128 -#define MAX_INPUT MAX_INPUT_WIDTH * MAX_INPUT_HEIGTH - -enum direction { - North, - East, - South, - West -}; - -int solve(const char *filename) -{ - FILE *file = fopen(filename, "r"); - - // Include space for newline and string terminator - char buffer[8] = { 0 }; - - enum direction dir = East; - int hor = 0; - int ver = 0; - while (fgets(buffer, 8, file)) { - int n = atoi(buffer + 1); - switch (buffer[0]) { - case 'N': - ver += n; - break; - case 'E': - hor += n; - break; - case 'S': - ver -= n; - break; - case 'W': - hor -= n; - break; - case 'F': - switch (dir) { - case North: - ver += n; - break; - case East: - hor += n; - break; - case South: - ver -= n; - break; - case West: - hor -= n; - break; - } - break; - case 'R': - dir = (enum direction)(((int)dir + (n / 90)) % 4); - break; - case 'L': - dir = (enum direction)((abs(4 + ((int)dir - (n / 90))) % 4)); - break; - default: - break; - } - } - - fclose(file); - - return abs(ver) + abs(hor); -} - -int main(int argc, char *argv[]) -{ - printf("%i\n", solve(argv[argc - 1])); -} diff --git a/12/part2.c b/12/part2.c deleted file mode 100644 index 745b56c..0000000 --- a/12/part2.c +++ /dev/null @@ -1,66 +0,0 @@ -#include <stdio.h> -#include <stdint.h> -#include <stdlib.h> -#include <malloc.h> -#include <string.h> - -#include "../utils.h" - -int solve(const char *filename) -{ - FILE *file = fopen(filename, "r"); - - // Include space for newline and string terminator - char buffer[8] = { 0 }; - - int w_x = 10; - int w_y = 1; - int y = 0; - int x = 0; - while (fgets(buffer, 8, file)) { - int n = atoi(buffer + 1); - switch (buffer[0]) { - case 'N': - w_y += n; - break; - case 'E': - w_x += n; - break; - case 'S': - w_y -= n; - break; - case 'W': - w_x -= n; - break; - case 'F': - for (int i = 0; i < n; i++) { - x += w_y; - y += w_x; - } - break; - case 'R': - for (int i = 0; i < n / 90; i++) { - SWAP(w_y, w_x); - w_y = -w_y; - } - break; - case 'L': - for (int i = 0; i < n / 90; i++) { - SWAP(w_y, w_x); - w_x = -w_x; - } - break; - default: - break; - } - } - - fclose(file); - - return abs(x) + abs(y); -} - -int main(int argc, char *argv[]) -{ - printf("%i\n", solve(argv[argc - 1])); -} diff --git a/12/testinput b/12/testinput deleted file mode 100644 index d382291..0000000 --- a/12/testinput +++ /dev/null @@ -1,5 +0,0 @@ -F10 -N3 -F7 -R90 -F11 |
