summary refs log tree commit diff homepage
path: root/2019/day02.c
blob: 411762f349711c4cc67ebc16a168d76f989461b6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <stdlib.h>
int main(void) {
	int v[1024] = {0};
	for (int i = 0; EOF != scanf("%d,", &v[i]); ++i);
	v[1] = 12;
	v[2] = 2;
	for (int i = 0; v[i] != 99; i += 4) {
		switch (v[i]) {
			break; case 1: v[v[i + 3]] = v[v[i + 1]] + v[v[i + 2]];
			break; case 2: v[v[i + 3]] = v[v[i + 1]] * v[v[i + 2]];
			break; default: abort();
		}
	}
	printf("%d\n", v[0]);
}