cleanup
[advent21.git] / 17b.c
1 #include <stdio.h>
2 #include <stdbool.h>
3
4 bool is_in(int dx, int dy, int x1, int x2, int y1, int y2)
5 {
6 int x = 0, y = 0;
7 while (y >= y1 && x <= x2) {
8 x+=dx;
9 y+=dy;
10 dx = dx == 0 ? 0 : dx-1;
11 dy--;
12 if (x >= x1 && x <= x2 && y >= y1 && y <= y2)
13 return true;
14 }
15 return false;
16 }
17
18 int main()
19 {
20 int x1, x2, y1, y2, n = 0;
21 scanf("target area: x=%d..%d, y=%d..%d\n", &x1, &x2, &y1, &y2);
22 for (int dy = x2; dy >= y1; dy--)
23 for (int dx = 0; dx <= x2; dx++)
24 if (is_in(dx, dy, x1, x2, y1, y2))
25 n++;
26 printf("%d\n", n);
27 }