summary refs log tree commit diff homepage
path: root/2018/day08.c
blob: a240786ea20e730c5152de7642ae863b5b6c11e9 (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
24
25
26
27
28
#include <stdio.h>
#include <stdlib.h>

typedef unsigned uint;

static uint sum;

static void meta(void) {
	uint meta;
	scanf("%u", &meta);
	sum += meta;
}

static void node(void) {
	uint nchild, nmeta;
	scanf("%u %u", &nchild, &nmeta);
	for (uint i = 0; i < nchild; ++i) {
		node();
	}
	for (uint i = 0; i < nmeta; ++i) {
		meta();
	}
}

int main() {
	node();
	printf("%u\n", sum);
}