def solvePartTwo(intCodeProg): done = False for noun in range(100): for verb in range(100): out = generateOutput(memory = intCodeToList(intCodeProg), noun = noun, verb = verb) if out == 19690720: done = True break if done: break return 100 * noun + verb
def solve(intCodeProg): num_amps = 5 program_mem = intCodeToList(intCodeProg) max_out = 0 for phase_setting in itertools.permutations(range(num_amps)): next_amp_in = 0 for x in range(num_amps): amplifier = CPU(program_mem) amplifier.set_input(phase_setting[x]) amplifier.set_input(next_amp_in) amplifier.run() next_amp_in = amplifier.get_output() max_out = max(max_out, next_amp_in) return max_out
def solvePartTwo(intCodeProg): num_amps = 5 program_mem = intCodeToList(intCodeProg) max_out = -sys.maxsize - 1 for phase_setting in itertools.permutations(range(5, 5 + num_amps)): amplifiers = list() next_amp_in = 0 for x in range(num_amps): amplifiers.append(CPU(program_mem)) amplifiers[x].set_input(phase_setting[x]) while amplifiers[-1].run_mode: for amp in amplifiers: amp.set_input(next_amp_in) # reset pc when reading from input fails try: amp.run() except IndexError: amp.pc -= 2 next_amp_in = amp.get_output() max_out = max(max_out, next_amp_in) return max_out
def solve(intCodeProg): return generateOutput(memory = intCodeToList(intCodeProg), noun = 12, verb = 2)
def solve(intCodeProg): processor = CPU(intCodeToList(intCodeProg)) processor.set_input(1) processor.run() return processor.get_output()[-1]
def solvePartTwo(intCodeProg): processor = CPU(intCodeToList(intCodeProg)) processor.set_input(5) processor.run() return processor.get_output()
def solvePartTwo(intCodeProg): hull_painter = Robot(intCodeToList(intCodeProg), 1) hull_painter.brain.run() return hull_painter.draw_screen()
def solve(intCodeProg): hull_painter = Robot(intCodeToList(intCodeProg)) hull_painter.brain.run() return len(hull_painter.ship_hull.keys())
def solve_part_two(int_code_prog): game = Arcade('Arcanoid', (WINDOWWIDTH, WINDOWHEIGHT), intCodeToList(int_code_prog)) game.runGameLoop() return "See game output"
def solve(int_code_prog): cart = Robot(intCodeToList(int_code_prog)) cart.brain.run() return len([tile for tile in cart.grid.values() if tile == 2])