summary refs log tree commit diff homepage
path: root/2020/day03.c
blob: f647681c8be721a8feca79afb1454095a65a885f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
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) {
	while (EOF != scanf("%s\n", grid[h])) {
		h++;
	}
	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)
	);
}