def solve(input, phase_lo, phase_hi, calc): software = inputreader.to_intcode(input) phases = itertools.permutations(list(range(phase_lo, phase_hi + 1)), 5) best = -1 for phase in phases: best = max(calc(software, list(phase)), best) return best
def solve(input, mode): data = inputreader.to_intcode(input) c = intcode.Computer(data, [mode]) assert len(c.outputs) == 1 return c.outputs[-1]
def part2(input): n, v = find(inputreader.to_intcode(input), 19690720) return 100 * n + v
def part1(input): mem = inputreader.to_intcode(input) data, outs = intcode.compute(mem, [1]) return outs
def part1(input): return compute(inputreader.to_intcode(input), 12, 2)[0]