#include "aoc.h" #include "icc.h" #include "util.h" #include #include void part1(void) { struct icc icc; int code; icc_init(&icc); icc_parse_inst(&icc, aoc.input, aoc.input_size); while (icc.state != ICC_HALT) { icc_step_inst(&icc); switch (icc.state) { case ICC_INPUT: icc.in = 1; break; case ICC_OUTPUT: aoc_debug("OUTPUT: %i\n", icc.out); code = icc.out; break; } } aoc.answer = aprintf("%i", code); aoc.solution = "15314507"; icc_deinit(&icc); } void part2(void) { struct icc icc; int code; icc_init(&icc); icc_parse_inst(&icc, aoc.input, aoc.input_size); while (icc.state != ICC_HALT) { icc_step_inst(&icc); switch (icc.state) { case ICC_INPUT: icc.in = 5; break; case ICC_OUTPUT: aoc_debug("OUTPUT: %i\n", icc.out); code = icc.out; break; } } aoc.answer = aprintf("%i", code); aoc.solution = "652726"; icc_deinit(&icc); }