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

25 lines
574 B
MiniZinc

% latin_squares.mzn
include "globals.mzn";
int: n = 3;
set of int: N = 1..n;
array[N, N] of var N: X;
constraint :: "ADRows"
forall (i in N)
(alldifferent(row(X, i)) :: "AD(row \(i))");
constraint :: "ADCols"
forall (j in N)
(alldifferent(col(X, j)) :: "AD(col \(j))");
constraint :: "LLRows"
forall (i in 1..n-1)
(lex_less(row(X, i), row(X, i+1)) :: "LL(rows \(i) \(i+1))");
constraint :: "LGCols"
forall (j in 1..n-1)
(lex_greater(col(X, j), col(X, j+1)) :: "LG(cols \(j) \(j+1)");
solve satisfy;
output [ show2d(X) ];