141 lines
12 KiB
MiniZinc
141 lines
12 KiB
MiniZinc
array [1..133] of set of int: C = [{-7, -1}, {-13, -1}, {-19, -1}, {-25, -1}, {-31, -1}, {-37, -1}, {-13, -7}, {-19, -7}, {-25, -7}, {-31, -7}, {-37, -7}, {-19, -13}, {-25, -13}, {-31, -13}, {-37, -13}, {-25, -19}, {-31, -19}, {-37, -19}, {-31, -25}, {-37, -25}, {-37, -31}, {-8, -2}, {-14, -2}, {-20, -2}, {-26, -2}, {-32, -2}, {-38, -2}, {-14, -8}, {-20, -8}, {-26, -8}, {-32, -8}, {-38, -8}, {-20, -14}, {-26, -14}, {-32, -14}, {-38, -14}, {-26, -20}, {-32, -20}, {-38, -20}, {-32, -26}, {-38, -26}, {-38, -32}, {-9, -3}, {-15, -3}, {-21, -3}, {-27, -3}, {-33, -3}, {-39, -3}, {-15, -9}, {-21, -9}, {-27, -9}, {-33, -9}, {-39, -9}, {-21, -15}, {-27, -15}, {-33, -15}, {-39, -15}, {-27, -21}, {-33, -21}, {-39, -21}, {-33, -27}, {-39, -27}, {-39, -33}, {-10, -4}, {-16, -4}, {-22, -4}, {-28, -4}, {-34, -4}, {-40, -4}, {-16, -10}, {-22, -10}, {-28, -10}, {-34, -10}, {-40, -10}, {-22, -16}, {-28, -16}, {-34, -16}, {-40, -16}, {-28, -22}, {-34, -22}, {-40, -22}, {-34, -28}, {-40, -28}, {-40, -34}, {-11, -5}, {-17, -5}, {-23, -5}, {-29, -5}, {-35, -5}, {-41, -5}, {-17, -11}, {-23, -11}, {-29, -11}, {-35, -11}, {-41, -11}, {-23, -17}, {-29, -17}, {-35, -17}, {-41, -17}, {-29, -23}, {-35, -23}, {-41, -23}, {-35, -29}, {-41, -29}, {-41, -35}, {-12, -6}, {-18, -6}, {-24, -6}, {-30, -6}, {-36, -6}, {-42, -6}, {-18, -12}, {-24, -12}, {-30, -12}, {-36, -12}, {-42, -12}, {-24, -18}, {-30, -18}, {-36, -18}, {-42, -18}, {-30, -24}, {-36, -24}, {-42, -24}, {-36, -30}, {-42, -30}, {-42, -36}, 1..6, 7..12, 13..18, 19..24, 25..30, 31..36, 37..42];
|
|
var 0..133: INT____00001 :: is_defined_var :: var_is_introduced;
|
|
var 0..133: unsat :: output_var = INT____00001;
|
|
array [1..42] of var 0..1: x :: output_array([1..42]);
|
|
array [1..133] of var 0..1: y :: output_array([1..133]);
|
|
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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [INT____00001, y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], y[10], y[11], y[12], y[13], y[14], y[15], y[16], y[17], y[18], y[19], y[20], y[21], y[22], y[23], y[24], y[25], y[26], y[27], y[28], y[29], y[30], y[31], y[32], y[33], y[34], y[35], y[36], y[37], y[38], y[39], y[40], y[41], y[42], y[43], y[44], y[45], y[46], y[47], y[48], y[49], y[50], y[51], y[52], y[53], y[54], y[55], y[56], y[57], y[58], y[59], y[60], y[61], y[62], y[63], y[64], y[65], y[66], y[67], y[68], y[69], y[70], y[71], y[72], y[73], y[74], y[75], y[76], y[77], y[78], y[79], y[80], y[81], y[82], y[83], y[84], y[85], y[86], y[87], y[88], y[89], y[90], y[91], y[92], y[93], y[94], y[95], y[96], y[97], y[98], y[99], y[100], y[101], y[102], y[103], y[104], y[105], y[106], y[107], y[108], y[109], y[110], y[111], y[112], y[113], y[114], y[115], y[116], y[117], y[118], y[119], y[120], y[121], y[122], y[123], y[124], y[125], y[126], y[127], y[128], y[129], y[130], y[131], y[132], y[133]], 0) :: defines_var(INT____00001);
|
|
constraint int_lin_le([1, 1, -2], [x[1], x[7], y[1]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[1], x[13], y[2]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[1], x[19], y[3]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[1], x[25], y[4]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[1], x[31], y[5]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[1], x[37], y[6]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[2], x[8], y[22]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[2], x[14], y[23]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[2], x[20], y[24]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[2], x[26], y[25]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[2], x[32], y[26]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[2], x[38], y[27]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[3], x[9], y[43]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[3], x[15], y[44]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[3], x[21], y[45]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[3], x[27], y[46]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[3], x[33], y[47]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[3], x[39], y[48]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[4], x[10], y[64]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[4], x[16], y[65]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[4], x[22], y[66]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[4], x[28], y[67]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[4], x[34], y[68]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[4], x[40], y[69]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[5], x[11], y[85]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[5], x[17], y[86]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[5], x[23], y[87]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[5], x[29], y[88]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[5], x[35], y[89]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[5], x[41], y[90]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[6], x[12], y[106]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[6], x[18], y[107]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[6], x[24], y[108]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[6], x[30], y[109]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[6], x[36], y[110]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[6], x[42], y[111]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[7], x[13], y[7]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[7], x[19], y[8]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[7], x[25], y[9]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[7], x[31], y[10]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[7], x[37], y[11]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[8], x[14], y[28]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[8], x[20], y[29]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[8], x[26], y[30]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[8], x[32], y[31]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[8], x[38], y[32]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[9], x[15], y[49]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[9], x[21], y[50]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[9], x[27], y[51]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[9], x[33], y[52]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[9], x[39], y[53]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[10], x[16], y[70]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[10], x[22], y[71]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[10], x[28], y[72]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[10], x[34], y[73]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[10], x[40], y[74]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[11], x[17], y[91]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[11], x[23], y[92]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[11], x[29], y[93]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[11], x[35], y[94]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[11], x[41], y[95]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[12], x[18], y[112]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[12], x[24], y[113]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[12], x[30], y[114]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[12], x[36], y[115]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[12], x[42], y[116]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[13], x[19], y[12]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[13], x[25], y[13]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[13], x[31], y[14]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[13], x[37], y[15]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[14], x[20], y[33]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[14], x[26], y[34]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[14], x[32], y[35]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[14], x[38], y[36]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[15], x[21], y[54]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[15], x[27], y[55]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[15], x[33], y[56]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[15], x[39], y[57]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[16], x[22], y[75]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[16], x[28], y[76]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[16], x[34], y[77]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[16], x[40], y[78]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[17], x[23], y[96]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[17], x[29], y[97]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[17], x[35], y[98]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[17], x[41], y[99]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[18], x[24], y[117]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[18], x[30], y[118]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[18], x[36], y[119]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[18], x[42], y[120]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[19], x[25], y[16]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[19], x[31], y[17]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[19], x[37], y[18]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[20], x[26], y[37]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[20], x[32], y[38]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[20], x[38], y[39]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[21], x[27], y[58]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[21], x[33], y[59]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[21], x[39], y[60]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[22], x[28], y[79]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[22], x[34], y[80]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[22], x[40], y[81]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[23], x[29], y[100]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[23], x[35], y[101]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[23], x[41], y[102]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[24], x[30], y[121]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[24], x[36], y[122]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[24], x[42], y[123]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[25], x[31], y[19]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[25], x[37], y[20]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[26], x[32], y[40]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[26], x[38], y[41]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[27], x[33], y[61]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[27], x[39], y[62]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[28], x[34], y[82]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[28], x[40], y[83]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[29], x[35], y[103]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[29], x[41], y[104]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[30], x[36], y[124]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[30], x[42], y[125]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[31], x[37], y[21]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[32], x[38], y[42]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[33], x[39], y[63]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[34], x[40], y[84]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[35], x[41], y[105]], 1);
|
|
constraint int_lin_le([1, 1, -2], [x[36], x[42], y[126]], 1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -6], [x[1], x[2], x[3], x[4], x[5], x[6], y[127]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -6], [x[7], x[8], x[9], x[10], x[11], x[12], y[128]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -6], [x[13], x[14], x[15], x[16], x[17], x[18], y[129]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -6], [x[19], x[20], x[21], x[22], x[23], x[24], y[130]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -6], [x[25], x[26], x[27], x[28], x[29], x[30], y[131]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -6], [x[31], x[32], x[33], x[34], x[35], x[36], y[132]], -1);
|
|
constraint int_lin_le([-1, -1, -1, -1, -1, -1, -6], [x[37], x[38], x[39], x[40], x[41], x[42], y[133]], -1);
|
|
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], y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], y[10], y[11], y[12], y[13], y[14], y[15], y[16], y[17], y[18], y[19], y[20], y[21], y[22], y[23], y[24], y[25], y[26], y[27], y[28], y[29], y[30], y[31], y[32], y[33], y[34], y[35], y[36], y[37], y[38], y[39], y[40], y[41], y[42], INT____00001], first_fail, indomain, complete) minimize INT____00001;
|