summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--2021/day05.c28
1 files changed, 28 insertions, 0 deletions
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 <stdio.h>
+#include <stdlib.h>
+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);
+}
c?id=8557319c4b0456d7660b8d3185430181f5cb2e44&follow=1'>Add setoptJune McEnroe 2019-02-20Match make targets as TagJune McEnroe 2019-02-20Use $PWD in html.sh to pass absolute path to manJune McEnroe 2019-02-20Factor out html.sh and produce html for all sourcesJune McEnroe 2019-02-20Add Dirk Gently's Holistic Detective AgencyJune McEnroe 2019-02-20Move /opt/pkg after /usr in PATHJune McEnroe 2019-02-20Set man_hard_wrap in nvimJune McEnroe 2019-02-18Use hi -o anchor in upJune McEnroe 2019-02-18Don't match nested parentheses in Tag for CJune McEnroe 2019-02-18Match whitespace between * [] {}June McEnroe 2019-02-18Fix function-like #define regexJune McEnroe 2019-02-18Match Tag in RustJune McEnroe 2019-02-18Match sh functions as TagJune McEnroe 2019-02-18Match Sh and Ss as Tag in mdocJune McEnroe 2019-02-18Match statics and typedefs as TagJune McEnroe 2019-02-18Clean up htmlHeaderJune McEnroe 2019-02-18Remove hi line numberingJune McEnroe 2019-02-18Add Tag class to hiJune McEnroe 2019-02-17Generate HTML with hi -n -f html -o anchorJune McEnroe 2019-02-17Add hi -f html -o anchor for line number linksJune McEnroe 2019-02-17Simplify temp trap in upJune McEnroe 2019-02-17Add line numbers to hiJune McEnroe 2019-02-17Always split spans after newlinesJune McEnroe 2019-02-15Color format specifiers light cyan in vimJune McEnroe 2019-02-15Highlight Interp as yellowJune McEnroe 2019-02-15Highlight strings in sh command substitutionsJune McEnroe 2019-02-15Add nmap gpJune McEnroe 2019-02-14Avoid newline when copying URL to pasteboardJune McEnroe 2019-02-13Add forgotten "sixth" book of H2G2June McEnroe