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