import sys, os debug_lvl = os.getenv("AOC_DEBUG") debug_lvl = int(debug_lvl) if debug_lvl is not None else 0 input_name = os.getenv("AOC_INPUT") input_name = input_name if input_name is not None else "input" data = open(input_name).read().strip("\n") def debug(*args, **kwargs): if debug_lvl: print(*args, **kwargs, file=sys.stderr) def run(solve1, solve2, sols=[None, None]): if len(sys.argv) <= 1: sys.exit(0) part = int(sys.argv[1]) if part == 1: answer = solve1(sys.argv[2:]) print(answer) if sols[part - 1] is not None: assert(answer == sols[part - 1]) else: print("warn: no solution available", file=sys.stderr) elif part == 2: answer = solve2(sys.argv[2:]) print(answer) if sols[part - 1] is not None: assert(answer == sols[part - 1]) else: print("warn: no solution available", file=sys.stderr) else: assert(False) # bad part