27 lines
1.1 KiB
MiniZinc
27 lines
1.1 KiB
MiniZinc
array [1..6] of var int: left :: output_array([0..5]);
|
|
array [1..6] of var int: removed :: output_array([1..6]);
|
|
constraint int_le(0, left[1]);
|
|
constraint int_le(0, left[2]);
|
|
constraint int_le(0, left[3]);
|
|
constraint int_le(0, left[4]);
|
|
constraint int_le(0, left[5]);
|
|
constraint int_le(0, left[6]);
|
|
constraint int_le(0, removed[1]);
|
|
constraint int_le(0, removed[2]);
|
|
constraint int_le(0, removed[3]);
|
|
constraint int_le(0, removed[4]);
|
|
constraint int_le(0, removed[5]);
|
|
constraint int_le(0, removed[6]);
|
|
constraint int_lin_eq([1, -5], [left[1], removed[1]], 1);
|
|
constraint int_lin_eq([1, -5], [left[2], removed[2]], 1);
|
|
constraint int_lin_eq([1, -5], [left[3], removed[3]], 1);
|
|
constraint int_lin_eq([1, -5], [left[4], removed[4]], 1);
|
|
constraint int_lin_eq([1, -5], [left[5], removed[5]], 1);
|
|
constraint int_lin_eq([1, -5], [left[6], removed[6]], 1);
|
|
constraint int_lin_eq([1, -4], [left[2], removed[1]], 0);
|
|
constraint int_lin_eq([1, -4], [left[3], removed[2]], 0);
|
|
constraint int_lin_eq([1, -4], [left[4], removed[3]], 0);
|
|
constraint int_lin_eq([1, -4], [left[5], removed[4]], 0);
|
|
constraint int_lin_eq([1, -4], [left[6], removed[5]], 0);
|
|
solve satisfy;
|