Files
ortools-clone/examples/flatzinc/fill_a_pix.fzn
2012-09-03 18:26:36 +00:00

38 lines
4.8 KiB
MiniZinc

array [1..100] of int: puzzle = [-1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 8, 8, -1, 2, -1, 0, -1, -1, -1, 5, -1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, 2, 1, -1, -1, -1, 4, 5, 6, -1, -1, -1, -1, 0, -1, -1, -1, 7, 9, -1, -1, 6, -1, -1, -1, 6, -1, -1, 9, -1, -1, 6, -1, -1, 6, 6, 8, 7, 8, 7, -1, 5, -1, 4, -1, 6, 6, 6, -1, 6, -1, 4, -1, -1, -1, -1, -1, -1, 3, -1, -1, -1];
array [1..100] of var 0..1: x :: output_array([1..10, 1..10]);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [x[8], x[9], x[10], x[18], x[19], x[20]], 0, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [x[11], x[12], x[21], x[22], x[31], x[32]], -5, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [x[29], x[30], x[39], x[40], x[49], x[50]], -2, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [x[31], x[32], x[41], x[42], x[51], x[52]], -1, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [x[49], x[50], x[59], x[60], x[69], x[70]], -6, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [x[59], x[60], x[69], x[70], x[79], x[80]], -6, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [x[69], x[70], x[79], x[80], x[89], x[90]], -5, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [x[79], x[80], x[89], x[90], x[99], x[100]], -4, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [x[86], x[87], x[88], x[96], x[97], x[98]], -3, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[2], x[3], x[11], x[12], x[13], x[21], x[22], x[23]], -8, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[2], x[3], x[4], x[12], x[13], x[14], x[22], x[23], x[24]], -8, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[4], x[5], x[6], x[14], x[15], x[16], x[24], x[25], x[26]], -2, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[6], x[7], x[8], x[16], x[17], x[18], x[26], x[27], x[28]], 0, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[12], x[13], x[14], x[22], x[23], x[24], x[32], x[33], x[34]], -8, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[25], x[26], x[27], x[35], x[36], x[37], x[45], x[46], x[47]], -2, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[34], x[35], x[36], x[44], x[45], x[46], x[54], x[55], x[56]], -4, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[35], x[36], x[37], x[45], x[46], x[47], x[55], x[56], x[57]], -5, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[36], x[37], x[38], x[46], x[47], x[48], x[56], x[57], x[58]], -6, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[41], x[42], x[43], x[51], x[52], x[53], x[61], x[62], x[63]], 0, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[45], x[46], x[47], x[55], x[56], x[57], x[65], x[66], x[67]], -7, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[46], x[47], x[48], x[56], x[57], x[58], x[66], x[67], x[68]], -9, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[53], x[54], x[55], x[63], x[64], x[65], x[73], x[74], x[75]], -6, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[56], x[57], x[58], x[66], x[67], x[68], x[76], x[77], x[78]], -9, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[62], x[63], x[64], x[72], x[73], x[74], x[82], x[83], x[84]], -6, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[63], x[64], x[65], x[73], x[74], x[75], x[83], x[84], x[85]], -6, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[64], x[65], x[66], x[74], x[75], x[76], x[84], x[85], x[86]], -8, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[65], x[66], x[67], x[75], x[76], x[77], x[85], x[86], x[87]], -7, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[66], x[67], x[68], x[76], x[77], x[78], x[86], x[87], x[88]], -8, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[67], x[68], x[69], x[77], x[78], x[79], x[87], x[88], x[89]], -7, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[71], x[72], x[73], x[81], x[82], x[83], x[91], x[92], x[93]], -4, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[73], x[74], x[75], x[83], x[84], x[85], x[93], x[94], x[95]], -6, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[74], x[75], x[76], x[84], x[85], x[86], x[94], x[95], x[96]], -6, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[75], x[76], x[77], x[85], x[86], x[87], x[95], x[96], x[97]], -6, true);
constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [x[77], x[78], x[79], x[87], x[88], x[89], x[97], x[98], x[99]], -6, true);
solve satisfy;