28 lines
2.8 KiB
MiniZinc
28 lines
2.8 KiB
MiniZinc
array [1..120] of int: c = [1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1];
|
|
var 0..20: INT____00001 :: is_defined_var :: var_is_introduced;
|
|
var 0..20: sumx :: output_var = INT____00001;
|
|
array [1..20] of var 0..1: x :: output_array([1..20]);
|
|
constraint int_lin_eq([-1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [INT____00001, x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20]], 0) :: defines_var(INT____00001);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[1], x[2], x[3], x[4]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[1], x[5], x[6], x[7]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[1], x[11], x[12], x[13]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[2], x[5], x[8], x[9]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[2], x[11], x[14], x[15]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[3], x[6], x[8], x[10]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[3], x[12], x[14], x[16]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[4], x[7], x[9], x[10]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[4], x[13], x[15], x[16]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[5], x[11], x[17], x[18]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[6], x[12], x[17], x[19]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[7], x[13], x[18], x[19]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[8], x[14], x[17], x[20]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[9], x[15], x[18], x[20]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1], [x[10], x[16], x[19], x[20]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[2], x[3], x[4], x[11], x[12], x[13], x[14], x[15], x[16]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[5], x[6], x[7], x[11], x[12], x[13], x[17], x[18], x[19]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[2], x[5], x[8], x[9], x[11], x[14], x[15], x[17], x[18], x[20]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[3], x[6], x[8], x[10], x[12], x[14], x[16], x[17], x[19], x[20]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[4], x[7], x[9], x[10], x[13], x[15], x[16], x[18], x[19], x[20]], -1);
|
|
solve :: int_search(x, first_fail, indomain_min, complete) minimize INT____00001;
|