17 lines
363 B
MiniZinc
17 lines
363 B
MiniZinc
function var bool: all_different(array[int] of var int: x) =
|
|
let {
|
|
set of int: S = range(1, length(x));
|
|
} in forall([
|
|
int_neq(element(x, i),element(x, j))
|
|
| i in S,
|
|
j in S
|
|
where int_lt(i,j)
|
|
]);
|
|
|
|
function var bool: main(int: n) =
|
|
let {
|
|
var bool: root_ctx;
|
|
array[1..n] of var 1..n-1: pigeon;
|
|
constraint all_different(pigeon);
|
|
} in root_ctx;
|