From 835da02e31dec8fc69481066120d4ae707eb65a9 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Sun, 6 Dec 2020 00:15:38 -0500 Subject: Solve day 6 part 1 --- 2020/day06.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 2020/day06.c (limited to '2020') diff --git a/2020/day06.c b/2020/day06.c new file mode 100644 index 0000000..07c40a3 --- /dev/null +++ b/2020/day06.c @@ -0,0 +1,21 @@ +#include +#include +int main (void) { + size_t cap = 0; + char *buf = NULL; + unsigned groups[512] = {0}; + for (int i = 0; 0 < getline(&buf, &cap, stdin);) { + if (buf[0] == '\n') { + i++; + continue; + } + for (char *ch = buf; *ch && *ch != '\n'; ++ch) { + groups[i] |= 1 << (*ch - 'a'); + } + } + int sum = 0; + for (int i = 0; i < 512; ++i) { + sum += __builtin_popcount(groups[i]); + } + printf("%d\n", sum); +} -- cgit 1.4.1