1
0
This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
Jip J. Dekker fad1b07018 Squashed 'software/minizinc/' content from commit 4f10c8205
git-subtree-dir: software/minizinc
git-subtree-split: 4f10c82056ffcb1041d7ffef29d77a7eef92cf76
2021-06-16 14:06:46 +10:00

41 lines
813 B
MiniZinc

/***
!Test
solvers: [gecode, chuffed]
expected:
- !Result
solution: !Solution
board:
- [0, 0, 0, 0, 0]
- [0, 0, 0, 0, 0]
- [0, 0, 0, 0, 0]
- [0, 0, 0, 0, 0]
- [0, 0, 0, 0, 0]
- !Result
solution: !Solution
board:
- [2, 2, 2, 2, 2]
- [2, 2, 2, 2, 2]
- [2, 2, 2, 2, 2]
- [2, 2, 2, 2, 2]
- [2, 2, 2, 2, 2]
***/
% vim: et ts=4
% Cut down version of MiniZinc bug 110.
% When flattened with mzn2fzn 1.1 this model results in negative
% (and more generally out-of-bounds) array accesses.
array[1..5,1..5] of var 0..2: board;
constraint
forall(row,col in 1..5) (
( board[row, col] = 1 ->
forall(i in 1..5) (
(((row-i > 0) /\ (col-i > 0)) -> (board[row-i,col-i] < 2))
)
)
);
solve satisfy;
output ["board = ", show(board), ";\n"];