%% Nonogram problem from Gecode: Nonunique %% There are 43 solutions to this nonogram. %% http://www.gecode.org/gecode-doc-latest/classNonogram.html %% %% ROW RULES row_max = 15; row_states = array2d(1..row_total_states, 1..2, [ % pattern 0,0,2,2, % tmp: dummy 0 1 1 0 1 1 % 1,2, 0,3, 4,0, 4,5, 0,6, 6,0, % pattern 0,0,2,2, % tmp: dummy 0 1 1 0 1 1 % 1,2, 0,3, 4,0, 4,5, 0,6, 6,0, % pattern 0,0,0,4, % tmp: dummy 0 1 1 1 1 % 1,2, 0,3, 0,4, 0,5, 5,0, % pattern 0,0,1,1, % tmp: dummy 0 1 0 1 % 1,2, 3,0, 3,4, 4,0, % pattern 0,0,1,1, % tmp: dummy 0 1 0 1 % 1,2, 3,0, 3,4, 4,0, % pattern 1,1,1,1, % tmp: dummy 0 1 0 1 0 1 0 1 0 % 1,2, 3,0, 3,4, 5,0, 5,6, 7,0, 7,8, 8,0, % pattern 0,0,1,1, % tmp: dummy 0 1 0 1 % 1,2, 3,0, 3,4, 4,0, % pattern 0,0,1,4, % tmp: dummy 0 1 0 1 1 1 1 % 1,2, 3,0, 3,4, 0,5, 0,6, 0,7, 7,0, % pattern 0,1,1,1, % tmp: dummy 0 1 0 1 0 1 0 % 1,2, 3,0, 3,4, 5,0, 5,6, 6,0, % pattern 0,1,1,4, % tmp: dummy 0 1 0 1 0 1 1 1 1 0 % 1,2, 3,0, 3,4, 5,0, 5,6, 0,7, 0,8, 0,9, 9,0, % pattern 0,0,1,3, % tmp: dummy 0 1 0 1 1 1 % 1,2, 3,0, 3,4, 0,5, 0,6, 6,0, % pattern 0,0,1,2, % tmp: dummy 0 1 0 1 1 % 1,2, 3,0, 3,4, 0,5, 5,0, % pattern 0,0,0,5, % tmp: dummy 0 1 1 1 1 1 % 1,2, 0,3, 0,4, 0,5, 0,6, 6,0, % pattern 0,0,2,2, % tmp: dummy 0 1 1 0 1 1 % 1,2, 0,3, 4,0, 4,5, 0,6, 6,0, % pattern 0,0,3,3 % tmp: dummy 0 1 1 1 0 1 1 1 % 1,2, 0,3, 0,4, 5,0, 5,6, 0,7, 0,8, 8,0, ]); row_max_state = 9; row_total_states = 90; row_num_patterns = 15; row_num_states = [6,6,5,4,4,8,4,7,6,9,6,5,6,6,8]; % this is also the final state row_start_where = [1,7,13,18,22,26,34,38,45,51,60,66,71,77,83]; % COL_RULES: col_max = 11; col_states = array2d(1..col_total_states, 1..2, [ % pattern 0,0,0,0,5, % tmp: dummy 0 1 1 1 1 1 1,2, 0,3, 0,4, 0,5, 0,6, 6,0, % pattern 0,0,1,2,4, % tmp: dummy 0 1 0 1 1 0 1 1 1 1 0 1,2, 3,0, 3,4, 0,5, 6,0, 6,7, 0,8, 0,9, 0,10, 10,0, % pattern 0,0,2,1,3, % tmp: dummy 0 1 1 0 1 0 1 1 1 0 1,2, 0,3, 4,0, 4,5, 6,0, 6,7, 0,8, 0,9, 9,0, % pattern 0,2,2,1,1, % tmp: dummy 0 1 1 0 1 1 0 1 0 1 0 1,2, 0,3, 4,0, 4,5, 0,6, 7,0, 7,8, 9,0, 9,10, 10,0, % pattern 0,1,1,1,1, % tmp: dummy 0 1 0 1 0 1 0 1 0 1,2, 3,0, 3,4, 5,0, 5,6, 7,0, 7,8, 8,0, % pattern 0,0,0,1,5, % tmp: dummy 0 1 0 1 1 1 1 1 1,2, 3,0, 3,4, 0,5, 0,6, 0,7, 0,8, 8,0, % pattern 2,1,1,3,2, % tmp: dummy 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1,2, 0,3, 4,0, 4,5, 6,0, 6,7, 8,0, 8,9, 0,10, 0,11, 12,0, 12,13, 0,14, 14,0, % pattern 2,1,1,1,1, % tmp: dummy 0 1 1 0 1 0 1 0 1 0 1 0 1,2, 0,3, 4,0, 4,5, 6,0, 6,7, 8,0, 8,9, 10,0, 10,11, 11,0, % pattern 0,0,1,4,1, % tmp: dummy 0 1 0 1 1 1 1 0 1 0 1,2, 3,0, 3,4, 0,5, 0,6, 0,7, 8,0, 8,9, 9,0, % pattern 0,0,0,1,1, % tmp: dummy 0 1 0 1 1,2, 3,0, 3,4, 4,0, % pattern 0,0,0,0,1 % tmp: dummy 0 1 1,2, 2,0, ]); col_num_patterns = 11; col_max_state = 14; col_total_states = 91; col_num_states = [6,10,9,10,8,8,14,11,9,4,2]; % this is also the final state col_start_where = [1,7,17,26,36,44,52,66,77,86,90];