From d896a7be22966749e74a279657ee1a7dfa127e98 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Thu, 3 Dec 2020 01:33:01 -0500 Subject: Solve day 3 part 2 --- 2020/day03.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/2020/day03.c b/2020/day03.c index cd792a7..f647681 100644 --- a/2020/day03.c +++ b/2020/day03.c @@ -1,16 +1,23 @@ #include #include #include +static char grid[512][32]; +static int h, w; +static long trees(int dx, int dy) { + long trees = 0; + for (int x = 0, y = 0; y < h; x += dx, y += dy) { + trees += grid[y][x%w] == '#'; + } + return trees; +} int main(void) { - char grid[512][32]; - int h = 0; while (EOF != scanf("%s\n", grid[h])) { h++; } - int w = strlen(grid[0]); - int trees = 0; - for (int x = 0, y = 0; y < h; x += 3, y += 1) { - trees += grid[y][x%w] == '#'; - } - printf("%d\n", trees); + w = strlen(grid[0]); + printf("%ld\n", trees(3, 1)); + printf( + "%ld\n", + trees(1, 1) * trees(3, 1) * trees(5, 1) * trees(7, 1) * trees(1, 2) + ); } -- cgit 1.4.1