41 lines
6.7 KiB
MiniZinc
41 lines
6.7 KiB
MiniZinc
var 0..27: INT____00002 :: is_defined_var :: var_is_introduced;
|
|
var 0..27: s :: output_var = INT____00002;
|
|
array [1..9] of var 1..9: square :: output_array([1..3, 1..3]);
|
|
array [1..81] of var 0..1: x;
|
|
constraint int_lin_eq([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]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[1], x[10], x[19], x[28], x[37], x[46], x[55], x[64], x[73]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[2], x[11], x[20], x[29], x[38], x[47], x[56], x[65], x[74]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[3], x[12], x[21], x[30], x[39], x[48], x[57], x[66], x[75]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[4], x[13], x[22], x[31], x[40], x[49], x[58], x[67], x[76]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[5], x[14], x[23], x[32], x[41], x[50], x[59], x[68], x[77]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[6], x[15], x[24], x[33], x[42], x[51], x[60], x[69], x[78]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[7], x[16], x[25], x[34], x[43], x[52], x[61], x[70], x[79]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[8], x[17], x[26], x[35], x[44], x[53], x[62], x[71], x[80]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[9], x[18], x[27], x[36], x[45], x[54], x[63], x[72], x[81]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[64], x[65], x[66], x[67], x[68], x[69], x[70], x[71], x[72]], 1);
|
|
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1], [x[73], x[74], x[75], x[76], x[77], x[78], x[79], x[80], x[81]], 1);
|
|
constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8, -9], [square[1], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9]], 0);
|
|
constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8, -9], [square[2], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18]], 0);
|
|
constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8, -9], [square[3], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27]], 0);
|
|
constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8, -9], [square[4], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36]], 0);
|
|
constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8, -9], [square[5], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45]], 0);
|
|
constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8, -9], [square[6], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54]], 0);
|
|
constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8, -9], [square[7], x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63]], 0);
|
|
constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8, -9], [square[8], x[64], x[65], x[66], x[67], x[68], x[69], x[70], x[71], x[72]], 0);
|
|
constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8, -9], [square[9], x[73], x[74], x[75], x[76], x[77], x[78], x[79], x[80], x[81]], 0);
|
|
constraint int_lin_eq([-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9], [INT____00002, 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], x[21], x[22], x[23], x[24], x[25], x[26], x[27]], 0);
|
|
constraint int_lin_eq([-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9], [INT____00002, x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63]], 0);
|
|
constraint int_lin_eq([-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9], [INT____00002, x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[73], x[74], x[75], x[76], x[77], x[78], x[79], x[80], x[81]], 0);
|
|
constraint int_lin_eq([-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9], [INT____00002, x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[64], x[65], x[66], x[67], x[68], x[69], x[70], x[71], x[72]], 0);
|
|
constraint int_lin_eq([-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9], [INT____00002, x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63]], 0);
|
|
constraint int_lin_eq([-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9], [INT____00002, x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[73], x[74], x[75], x[76], x[77], x[78], x[79], x[80], x[81]], 0);
|
|
constraint int_lin_eq([-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9], [INT____00002, x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54]], 0) :: defines_var(INT____00002);
|
|
constraint int_lin_eq([-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9], [INT____00002, x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63], x[64], x[65], x[66], x[67], x[68], x[69], x[70], x[71], x[72], x[73], x[74], x[75], x[76], x[77], x[78], x[79], x[80], x[81]], 0);
|
|
solve :: int_search([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], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63], x[64], x[65], x[66], x[67], x[68], x[69], x[70], x[71], x[72], x[73], x[74], x[75], x[76], x[77], x[78], x[79], x[80], x[81], square[1], square[2], square[3], square[4], square[5], square[6], square[7], square[8], square[9], INT____00002], first_fail, indomain, complete) satisfy;
|