summary refs log tree commit diff homepage
path: root/2020
diff options
context:
space:
mode:
Diffstat (limited to '2020')
-rw-r--r--2020/day05.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/2020/day05.c b/2020/day05.c
new file mode 100644
index 0000000..8d87fcb
--- /dev/null
+++ b/2020/day05.c
@@ -0,0 +1,23 @@
+#include <stdio.h>
+#include <stdlib.h>
+static int id(const char *s) {
+	int row = 0, col = 0, size = 128;
+	while (*s == 'F' || *s == 'B') {
+		size /= 2;
+		if (*s++ == 'B') row += size;
+	}
+	size = 8;
+	while (*s) {
+		size /= 2;
+		if (*s++ == 'R') col += size;
+	}
+	return row * 8 + col;
+}
+int main(void) {
+	char s[11];
+	int max = 0;
+	while (EOF != scanf("%s\n", s)) {
+		if (id(s) > max) max = id(s);
+	}
+	printf("%d\n", max);
+}
r diff spansJune McEnroe 2021-01-20Avoid matching ':' in make tagsJune McEnroe Otherwise a :: rule includes one of the ':'s in the tag name. 2021-01-19Prefer tag matches not preceded by [[:alnum:]]June McEnroe Otherwise the "id" in "void" matches for "void id". 2021-01-19Escape \ and / in mtags search patternsJune McEnroe 2021-01-20Use mtags in source-filterJune McEnroe 2021-01-19Add mtags to generate tags for make and mdocJune McEnroe 2021-01-19Map tags to IDs using only [[:alnum:]-._]June McEnroe 2021-01-19Don't use a pager if reading standard inputJune McEnroe 2021-01-19Support BSD make syntax and match *.amJune McEnroe These don't really go together, but... 2021-01-19Match tab following escaped newline in make assignmentsJune McEnroe Otherwise it ends up going into Shell state. 2021-01-18Allow matching lexers using first input lineJune McEnroe