diff options
author | June McEnroe <june@causal.agency> | 2020-12-08 00:09:56 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-12-08 00:09:56 -0500 |
commit | 5eb73422d9c22f9f4dca435ae7127b187cf5440f (patch) | |
tree | 954df753327ed37d6ab6d8970004c524c1068958 /2020/day08.c | |
parent | Check cons[i].cnt to break out of loop (diff) | |
download | aoc-5eb73422d9c22f9f4dca435ae7127b187cf5440f.tar.gz aoc-5eb73422d9c22f9f4dca435ae7127b187cf5440f.zip |
Solve day 8 part 1
Diffstat (limited to '')
-rw-r--r-- | 2020/day08.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/2020/day08.c b/2020/day08.c new file mode 100644 index 0000000..87b4585 --- /dev/null +++ b/2020/day08.c @@ -0,0 +1,29 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +static struct Ins { + char op[4]; + int arg; +} prog[1024]; +static int acc; +static int pc; +static void step(void) { + if (!strcmp(prog[pc].op, "acc")) { + acc += prog[pc].arg; + } else if (!strcmp(prog[pc].op, "jmp")) { + pc += prog[pc].arg; + return; + } + pc++; +} +int main(void) { + int i = 0; + while (EOF != scanf("%s %d\n", prog[i].op, &prog[i].arg)) { + i++; + } + int ran[1024] = {0}; + while (!ran[pc]++) { + step(); + } + printf("%d\n", acc); +} |