c 2022 4
This commit is contained in:
parent
332ece0d97
commit
c0bcbd6877
39
c/2022/4/camp_cleanup.c
Normal file
39
c/2022/4/camp_cleanup.c
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
#include "../../lib/aoc.h"
|
||||||
|
|
||||||
|
bool fully_contain(char *line) {
|
||||||
|
int a, b, c, d;
|
||||||
|
int y = sscanf(line, "%d-%d,%d-%d", &a, &b, &c, &d);
|
||||||
|
return ((a <= c && b >= d) ||
|
||||||
|
(c <= a && d >= b));
|
||||||
|
}
|
||||||
|
|
||||||
|
bool overlap(char *line) {
|
||||||
|
int a, b, c, d;
|
||||||
|
int y = sscanf(line, "%d-%d,%d-%d", &a, &b, &c, &d);
|
||||||
|
return ((a <= c && b >= c) ||
|
||||||
|
(a <= d && b >= d) ||
|
||||||
|
(c <= a && d >= a) ||
|
||||||
|
(c <= b && d >= b));
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
char *line;
|
||||||
|
|
||||||
|
int contain_sum = 0;
|
||||||
|
int overlap_sum = 0;
|
||||||
|
while ((line = aoc_read_line()) != NULL) {
|
||||||
|
if (fully_contain(line)) contain_sum++;
|
||||||
|
if (overlap(line)) overlap_sum++;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("Part 1: %d\n", contain_sum);
|
||||||
|
printf("Part 2: %d\n", overlap_sum);
|
||||||
|
|
||||||
|
aoc_free();
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user