Compare commits

..

7 commits

2 changed files with 8 additions and 6 deletions

View file

@ -92,12 +92,13 @@ def solve(input: List[str]) -> int:
solver.add(registers["z"] == zero)
model_number = functools.reduce(lambda a, b: a * 10 + b, digits)
digits_to_num = lambda digits: functools.reduce(lambda a, b: a * 10 + b, digits)
solver.maximize(model_number)
solver.maximize(digits_to_num(digits))
assert solver.check() == z3.sat # Sanity check
return solver.model().eval(model_number)
model = solver.model()
return digits_to_num(model[d].as_long() for d in digits)
return run_z3(parse())

View file

@ -92,12 +92,13 @@ def solve(input: List[str]) -> int:
solver.add(registers["z"] == zero)
model_number = functools.reduce(lambda a, b: a * 10 + b, digits)
digits_to_num = lambda digits: functools.reduce(lambda a, b: a * 10 + b, digits)
solver.minimize(model_number)
solver.minimize(digits_to_num(digits))
assert solver.check() == z3.sat # Sanity check
return solver.model().eval(model_number)
model = solver.model()
return digits_to_num(model[d].as_long() for d in digits)
return run_z3(parse())