diff options
Diffstat (limited to '')
-rw-r--r-- | 2020/day05.c | 23 |
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); +} |