From bcc2d7d2e915946049327546c8ce5f4cd97847d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobos=20=C3=81d=C3=A1m?= Date: Sun, 11 Dec 2022 19:45:46 +0100 Subject: [PATCH] Day10 --- day10/input.txt | 140 ++++++++++++++++++++++++++++++++++++++++++++++++ day10/proci | Bin 0 -> 16192 bytes day10/proci.c | 62 +++++++++++++++++++++ 3 files changed, 202 insertions(+) create mode 100644 day10/input.txt create mode 100755 day10/proci create mode 100644 day10/proci.c diff --git a/day10/input.txt b/day10/input.txt new file mode 100644 index 0000000..a9a6382 --- /dev/null +++ b/day10/input.txt @@ -0,0 +1,140 @@ +addx 1 +addx 4 +noop +noop +noop +addx 5 +addx 3 +noop +addx 2 +noop +noop +noop +noop +addx 3 +addx 5 +addx 2 +addx 1 +noop +addx 5 +addx -1 +addx 5 +noop +addx 3 +noop +addx -40 +noop +addx 38 +addx -31 +addx 3 +noop +addx 2 +addx -7 +addx 8 +addx 2 +addx 5 +addx 2 +addx 3 +addx -2 +noop +noop +noop +addx 5 +addx 2 +noop +addx 3 +addx 2 +noop +addx 3 +addx -36 +noop +noop +addx 5 +noop +noop +addx 8 +addx -5 +addx 5 +addx 2 +addx -15 +addx 16 +addx 4 +noop +addx 1 +noop +noop +addx 4 +addx 5 +addx -30 +addx 35 +addx -1 +addx 2 +addx -36 +addx 5 +noop +noop +addx -2 +addx 5 +addx 2 +addx 3 +noop +addx 2 +noop +noop +addx 5 +noop +addx 14 +addx -13 +addx 5 +addx -14 +addx 18 +addx 3 +addx 2 +addx -2 +addx 5 +addx -40 +noop +addx 32 +addx -25 +addx 3 +noop +addx 2 +addx 3 +addx -2 +addx 2 +addx 2 +noop +addx 3 +addx 5 +addx 2 +addx 9 +addx -36 +addx 30 +addx 5 +addx 2 +addx -25 +addx 26 +addx -38 +addx 10 +addx -3 +noop +noop +addx 22 +addx -16 +addx -1 +addx 5 +addx 3 +noop +addx 2 +addx -20 +addx 21 +addx 3 +addx 2 +addx -24 +addx 28 +noop +addx 5 +addx 3 +noop +addx -24 +noop diff --git a/day10/proci b/day10/proci new file mode 100755 index 0000000000000000000000000000000000000000..2dc1a07e1b8e657b6cd9cffa949a31d66cefd69c GIT binary patch literal 16192 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 +#include +#include + +#define BUFFER_SIZE 64 +#define INTERESTING_CYCLES 20, 60, 100, 140, 180, 220 +#define CRT_WIDTH 40 +#define CRT_HEIGHT 6 + +int main() { + char buf[BUFFER_SIZE], *p, c; + memset(buf, 0, BUFFER_SIZE); + p = buf; + + int X = 1, cycle = 0, sum = 0, add, delay = 0; + int interesting_cycles[] = {INTERESTING_CYCLES}; + int row =0, col = 0; + + while ((c = getchar()) != EOF) { + *p++ = c; + if (c == '\n') { + + + if (sscanf(buf, "addx %i", &add)) { + delay = 2; + } else { + add = 0; + delay = 1; + } + + while (delay > 0) { + cycle++; + if (col == CRT_WIDTH) { + printf("\n"); + col = 0; + row++; + } + if (X - 1 == col || X == col || X + 1 == col) { + printf("#"); + } else { + printf("."); + } + // Update sum if we are in the right cycle + for (int i = 0; i < sizeof(interesting_cycles)/sizeof(int); i++) { + if (interesting_cycles[i] == cycle) { + sum += X * cycle; + } + } + + col++; + delay--; + } + + X += add; + + memset(buf, 0, BUFFER_SIZE); + p = buf; + } + } + + printf("\n%i\n", sum); +}