From 9e4caca9ecc7639e64fc6f669a6d3bf7aefe8c33 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Sun, 5 Dec 2021 11:37:53 -0500 Subject: Solve day 5 part 1 --- 2021/day05.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 2021/day05.c (limited to '2021') diff --git a/2021/day05.c b/2021/day05.c new file mode 100644 index 0000000..a51bfc0 --- /dev/null +++ b/2021/day05.c @@ -0,0 +1,28 @@ +#include +#include +static void swap(int *x1, int *y1, int *x2, int *y2) { + int t = *x1; + *x1 = *x2; + *x2 = t; + t = *y1; + *y1 = *y2; + *y2 = t; +} +int main(void) { + static int grid[1024][1024]; + int x1, y1, x2, y2; + while (4 == scanf("%d,%d -> %d,%d\n", &x1, &y1, &x2, &y2)) { + if (x1 != x2 && y1 != y2) continue; + if (x2 < x1 || y2 < y1) swap(&x1, &y1, &x2, &y2); + for (int y = y1; y <= y2; ++y) + for (int x = x1; x <= x2; ++x) { + grid[y][x]++; + } + } + int points = 0; + for (int y = 0; y < 1024; ++y) + for (int x = 0; x < 1024; ++x) { + if (grid[y][x] > 1) points++; + } + printf("%d\n", points); +} -- cgit 1.4.1