Compare commits
7 commits
6a6552f6fc
...
4f44c80c38
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f44c80c38 | |||
| de58962bc0 | |||
| 65704f17aa | |||
| 1c0be78c09 | |||
| cb8cb691c4 | |||
| c40b08063a | |||
| e89832ad7f |
2 changed files with 8 additions and 6 deletions
|
|
@ -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())
|
||||
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue