diff options
Diffstat (limited to 'day04/part2.mzn')
-rw-r--r-- | day04/part2.mzn | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/day04/part2.mzn b/day04/part2.mzn new file mode 100644 index 0000000..ea5bbb1 --- /dev/null +++ b/day04/part2.mzn @@ -0,0 +1,29 @@ +include "globals.mzn"; + +par set of int: range; + +array[0..5] of var 0..9: digits; +var range: code; + +constraint + code = + digits[0] * 100000 + + digits[1] * 10000 + + digits[2] * 1000 + + digits[3] * 100 + + digits[4] * 10 + + digits[5]; + +constraint + exists (i in 0..4) ( + digits[i] == digits[i+1] /\ + if i > 0 then digits[i-1] != digits[i] else true endif /\ + if i < 4 then digits[i+2] != digits[i] else true endif + ); + +constraint + increasing(digits); + +output [show(code)]; + +solve satisfy; |