summary refs log tree commit diff homepage
path: root/2020
diff options
context:
space:
mode:
Diffstat (limited to '2020')
-rw-r--r--2020/day07.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/2020/day07.c b/2020/day07.c
index 3d97d5f..7445259 100644
--- a/2020/day07.c
+++ b/2020/day07.c
@@ -37,6 +37,16 @@ static bool canContain(struct Bag *bag, const char *adj, const char *col) {
 	}
 	return false;
 }
+static int containsCount(struct Bag *bag) {
+	int count = 0;
+	for (int i = 0; i < 4; ++i) {
+		if (!bag->cons[i].adj[0]) break;
+		count += bag->cons[i].cnt;
+		count += bag->cons[i].cnt
+			* containsCount(findBag(bag->cons[i].adj, bag->cons[i].col));
+	}
+	return count;
+}
 int main(void) {
 	while (EOF != scanf("%s %s bags contain", bags[len].adj, bags[len].col)) {
 		for (
@@ -57,4 +67,5 @@ int main(void) {
 		if (canContain(&bags[i], "shiny", "gold")) count++;
 	}
 	printf("%d\n", count);
+	printf("%d\n", containsCount(findBag("shiny", "gold")));
 }
d=1ba4e88f401526eafe32bec9ad0cb0b58bacae5c&follow=1'>Update catsit to 1.2June McEnroe 2021-02-08Update pounce to 2.3June McEnroe 2021-02-04Update cgit-causal-agency to 8e4c63cJune McEnroe 2021-01-20Update cgit-causal-agency to 8a10aa5June McEnroe 2021-01-17Update cgit-causal-agencyJune McEnroe 2021-01-17Update scooper to 1.1June McEnroe 2021-01-17Update catgirl to 1.5 (BONUS WEBISODE)June McEnroe 2021-01-15Update litterbox to 1.7June McEnroe 2021-01-15Update pounce to 2.2June McEnroe 2021-01-15Update catgirl to 1.4June McEnroe 2020-12-28Replace cgit-patched with cgit-causal-agencyJune McEnroe 2020-12-18Add notemap portJune McEnroe 2020-12-15Update libretls to 3.3.1June McEnroe 2020-12-15Update catsit to 1.1June McEnroe 2020-12-15Update pounce to 2.1p1June McEnroe 2020-12-15Add imbox portJune McEnroe 2020-11-24Update pounce to 2.1June McEnroe 2020-11-24Update libretls to 3.3.0June McEnroe 2020-11-17Update catgirl to 1.3June McEnroe 2020-11-17Update libretls to 3.2.2June McEnroe 2020-09-29Update libretls to 3.2.1June McEnroe 2020-09-10Update catgirl to 1.2June McEnroe 2020-09-09Add pounce-palaver portJune McEnroe 2020-09-09Update pounce to 2.0June McEnroe 2020-09-09Update litterbox to 1.6June McEnroe 2020-08-23Add scooper portJune McEnroe 2020-08-23Add catsit portJune McEnroe 2020-08-13Update pounce to 1.4p2June McEnroe 2020-08-11Update pounce to 1.4p1June McEnroe 2020-08-10Add litterbox portJune McEnroe 2020-08-10Add missing USES=pkgconfig to pounceJune McEnroe