{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-16T00:12:35.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-04-16T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":3042,"title":"Fill-a-pix - Solution Checker","description":"\u003chttp://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/rules Fill-a-pix\u003e is a logic puzzle game similar to Pic-a-Pix (aka Logic art) and Minesweeper. An example starting board is shown below on the left with the completed board shown to its right. Each number in the board indicates how many surrounding cells, including itself, are to be filled in. There are (up to) nine total cells associated with each number: four immediately adjacent (up, down, left, and right), four diagonally adjacent (one touching each corner), and the central cell (where the number is located).\r\n\r\nBased on this logic, all 0's and 9's are determinant, as all nine cells are either empty or filled, respectively, for these numbers. Also, all 6's on the board edges and 4's in the corners should be completely filled in, as they only involve 6 or 4 cells, respectively.\r\n\r\n\u003c\u003chttp://www.conceptispuzzles.com/picture/11/1418.gif\u003e\u003e \r\n\r\n\u003c\u003chttp://www.conceptispuzzles.com/picture/11/1420.gif\u003e\u003e\r\n\r\nFor this problem, you will be provided with various boards and solutions to each board. Write a function to determine if the solution is correct for the given board. The board will be filled with NaN's where there are no number clues; these cells should not be checked. The solution board will be filled with 1's (filled) and 0's (empty).\r\n\r\nA related problem is \u003chttps://www.mathworks.com/matlabcentral/cody/problems/3043-fill-a-pix-solver-basic Fill-a-pix - Solver (basic)\u003e.","description_html":"\u003cp\u003e\u003ca href = \"http://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/rules\"\u003eFill-a-pix\u003c/a\u003e is a logic puzzle game similar to Pic-a-Pix (aka Logic art) and Minesweeper. An example starting board is shown below on the left with the completed board shown to its right. Each number in the board indicates how many surrounding cells, including itself, are to be filled in. There are (up to) nine total cells associated with each number: four immediately adjacent (up, down, left, and right), four diagonally adjacent (one touching each corner), and the central cell (where the number is located).\u003c/p\u003e\u003cp\u003eBased on this logic, all 0's and 9's are determinant, as all nine cells are either empty or filled, respectively, for these numbers. Also, all 6's on the board edges and 4's in the corners should be completely filled in, as they only involve 6 or 4 cells, respectively.\u003c/p\u003e\u003cimg src = \"http://www.conceptispuzzles.com/picture/11/1418.gif\"\u003e\u003cimg src = \"http://www.conceptispuzzles.com/picture/11/1420.gif\"\u003e\u003cp\u003eFor this problem, you will be provided with various boards and solutions to each board. Write a function to determine if the solution is correct for the given board. The board will be filled with NaN's where there are no number clues; these cells should not be checked. The solution board will be filled with 1's (filled) and 0's (empty).\u003c/p\u003e\u003cp\u003eA related problem is \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/3043-fill-a-pix-solver-basic\"\u003eFill-a-pix - Solver (basic)\u003c/a\u003e.\u003c/p\u003e","function_template":"function [tf] = fill_a_pix_solution_check(board,solution)\r\n\r\ntf = 1;\r\n\r\nend\r\n","test_suite":"%%\r\nboard = [-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];\r\nboard(board==-1) = NaN;\r\nsolution = [0,1,1,0,0,0,0,0,0,0; 1,1,1,1,0,0,0,0,0,0; 1,1,1,1,0,0,0,0,0,0; 0,1,1,0,0,0,0,0,0,0; 0,0,0,0,0,1,1,1,1,1; 0,0,0,1,1,1,1,1,1,1; 0,0,0,1,0,1,1,1,1,1; 0,1,1,1,1,1,1,1,1,1; 0,1,0,1,1,1,0,1,0,1; 0,0,1,0,0,0,1,0,1,0];\r\ntf_corr = 1;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-1,2,3,-1,-1,0,-1,-1,-1,-1; -1,-1,-1,-1,3,-1,2,-1,-1,6; -1,-1,5,-1,5,3,-1,5,7,4; -1,4,-1,5,-1,5,-1,6,-1,3; -1,-1,4,-1,5,-1,6,-1,-1,3; -1,-1,-1,2,-1,5,-1,-1,-1,-1; 4,-1,1,-1,-1,-1,1,1,-1,-1; 4,-1,1,-1,-1,-1,1,-1,4,-1; -1,-1,-1,-1,6,-1,-1,-1,-1,4; -1,4,4,-1,-1,-1,-1,4,-1,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,1,1,0,0,0,0,0,1,1; 0,0,0,1,0,0,0,1,1,1; 0,0,1,1,1,0,0,1,1,1; 0,1,1,0,1,1,0,1,0,0; 0,1,0,0,0,1,1,1,1,0; 1,1,0,0,1,1,0,0,1,1; 1,0,0,0,1,0,0,0,0,1;  1,0,0,0,1,0,0,0,0,1; 1,1,0,0,1,1,0,0,1,1; 0,1,1,1,1,1,1,1,1,0];\r\ntf_corr = 1;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [0,-1,-1,4,3,2,1,-1,-1,-1,-1,-1,3,-1,-1; -1,-1,5,-1,-1,4,-1,-1,4,4,-1,-1,-1,-1,3; -1,5,4,5,4,5,5,-1,5,3,-1,1,2,-1,3; 4,-1,-1,-1,4,-1,-1,4,2,-1,1,-1,-1,-1,-1; -1,-1,5,4,-1,2,2,-1,1,0,-1,-1,7,5,-1; -1,-1,-1,5,-1,-1,0,-1,-1,-1,-1,4,5,-1,2; 4,-1,-1,5,4,2,0,0,-1,-1,-1,5,6,-1,-1; 5,-1,-1,6,5,-1,-1,-1,-1,-1,3,3,3,-1,3; -1,-1,5,-1,5,3,-1,-1,-1,-1,-1,-1,3,-1,-1; 5,-1,-1,6,5,-1,3,5,-1,6,-1,-1,0,-1,0; -1,-1,5,-1,4,3,2,4,5,-1,4,-1,-1,1,-1; -1,7,-1,-1,5,-1,-1,1,-1,5,5,5,-1,-1,-1; -1,-1,6,4,4,4,3,1,2,4,-1,-1,6,4,-1; -1,5,-1,6,-1,-1,-1,-1,-1,4,6,-1,-1,-1,-1; -1,-1,-1,-1,-1,-1,3,2,0,-1,4,4,3,-1,2];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,0,1,1,0,0,0,0,0,1,1,1,1,0; 0,0,1,0,1,0,0,1,1,1,0,0,0,0,1; 1,1,1,1,0,1,1,0,1,0,0,0,0,0,1; 1,0,0,0,1,0,1,1,0,0,0,0,1,1,0; 0,1,1,1,0,0,0,0,0,0,0,1,1,0,0; 0,1,0,1,0,0,0,0,0,0,0,1,1,1,0; 1,1,1,0,1,0,0,0,0,0,0,0,0,0,1; 1,0,0,1,1,0,0,0,0,0,1,1,1,1,1; 1,1,1,1,0,1,0,0,1,1,0,0,0,0,0; 1,0,0,1,0,0,1,1,1,1,0,0,0,0,0; 1,1,1,1,1,0,0,0,1,0,1,0,0,0,0; 1,1,0,0,1,0,0,0,0,1,0,1,1,0,0; 0,1,1,1,0,1,0,0,0,1,1,0,1,1,0; 0,1,1,0,0,1,1,0,0,0,1,1,0,1,0; 0,0,1,1,1,0,1,0,0,0,1,1,0,0,1];\r\ntf_corr = 1;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-1,-1,3,3,-1,-1,-1,-1,-1,-1; 3,-1,-1,-1,-1,-1,0,-1,0,-1; -1,-1,3,4,-1,3,-1,-1,-1,-1; 3,-1,4,-1,-1,-1,-1,3,-1,-1; 2,3,-1,5,-1,4,4,-1,-1,4; -1,-1,5,4,6,6,-1,4,-1,4; -1,-1,-1,-1,-1,3,3,-1,-1,4; -1,3,-1,-1,5,6,5,-1,-1,4; -1,-1,-1,7,-1,-1,-1,7,-1,5; -1,4,-1,-1,6,-1,6,-1,5,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,1,1,0,0,0,0,0,0; 0,1,0,0,1,0,0,0,0,0; 1,1,0,0,1,0,0,0,0,0; 0,0,1,0,1,0,0,1,0,1; 0,1,0,1,1,1,1,0,1,1; 0,1,0,1,0,1,0,1,0,1; 0,1,0,0,1,1,1,0,0,1; 0,0,1,0,0,0,0,0,1,1; 0,0,1,1,1,1,1,1,1,0; 1,1,1,1,1,1,1,1,1,1];\r\ntf_corr = 0;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-1,-1,-1,4,-1,-1,4,-1,6,-1,5,4,-1,-1,1; -1,4,-1,-1,-1,-1,-1,-1,-1,7,-1,-1,-1,-1,-1; -1,-1,4,-1,-1,0,1,-1,4,-1,5,-1,6,-1,-1; 4,-1,-1,0,-1,0,-1,3,-1,-1,4,-1,5,-1,4; -1,-1,1,-1,-1,2,-1,3,5,4,-1,4,5,-1,-1; -1,2,-1,-1,3,-1,5,-1,-1,5,5,5,-1,-1,-1; -1,-1,1,2,-1,5,-1,3,4,-1,-1,-1,-1,-1,5; -1,0,0,1,-1,-1,5,-1,6,-1,7,-1,6,-1,4; -1,-1,-1,-1,-1,-1,-1,-1,5,5,-1,-1,6,-1,-1; -1,0,-1,-1,4,-1,6,-1,-1,-1,6,-1,7,-1,-1; -1,-1,-1,-1,-1,8,-1,8,7,-1,-1,-1,7,-1,3; -1,-1,5,-1,7,-1,8,-1,7,7,-1,-1,5,-1,-1; -1,2,-1,8,-1,8,-1,-1,-1,6,5,-1,-1,-1,5; -1,1,-1,5,-1,5,-1,3,-1,-1,5,-1,3,-1,4; -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,-1,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,0,1,1,1,1,1,1,1,1,1,0,0,0; 0,1,1,1,0,0,0,1,1,1,1,0,1,1,0; 1,1,0,0,0,0,0,0,0,0,1,1,0,1,1; 1,0,0,0,0,0,0,0,1,0,0,1,1,0,1; 1,0,0,0,0,0,0,1,1,1,0,0,1,0,1; 0,1,0,1,1,1,0,0,0,1,0,0,1,1,1; 0,0,0,0,0,1,1,1,0,1,1,1,1,0,1; 0,0,0,0,1,0,0,1,0,0,1,1,0,1,1; 0,0,0,0,0,0,0,1,1,1,1,0,1,1,0; 0,0,0,0,1,1,1,0,1,0,0,1,1,0,0; 0,0,0,1,0,1,1,1,1,1,1,1,1,1,0; 0,0,1,1,1,1,1,1,1,1,1,0,1,1,1; 0,0,1,1,1,0,1,1,0,0,1,0,0,0,1; 0,0,0,1,1,1,1,0,0,1,1,0,0,1,1; 0,0,0,0,0,0,0,0,0,1,0,1,0,1,0];\r\ntf_corr = 0;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [0,-1,-1,4,3,2,1,-1,-1,-1,-1,-1,3,-1,-1; -1,-1,5,-1,-1,4,-1,-1,4,4,-1,-1,-1,-1,3; -1,5,4,5,4,5,5,-1,5,3,-1,1,2,-1,3; 4,-1,-1,-1,4,-1,-1,4,2,-1,1,-1,-1,-1,-1; -1,-1,5,4,-1,2,2,-1,1,0,-1,-1,7,5,-1; -1,-1,-1,5,-1,-1,0,-1,-1,-1,-1,4,5,-1,2; 4,-1,-1,5,4,2,0,0,-1,-1,-1,5,6,-1,-1; 5,-1,-1,6,5,-1,-1,-1,-1,-1,3,3,3,-1,3; -1,-1,5,-1,5,3,-1,-1,-1,-1,-1,-1,3,-1,-1; 5,-1,-1,6,5,-1,3,5,-1,6,-1,-1,0,-1,0; -1,-1,5,-1,4,3,2,4,5,-1,4,-1,-1,1,-1; -1,7,-1,-1,5,-1,-1,1,-1,5,5,5,-1,-1,-1; -1,-1,6,4,4,4,3,1,2,4,-1,-1,6,4,-1; -1,5,-1,6,-1,-1,-1,-1,-1,4,6,-1,-1,-1,-1; -1,-1,-1,-1,-1,-1,3,2,0,-1,4,4,3,-1,2];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,0,1,1,0,0,0,0,0,1,1,1,1,0; 0,0,1,0,1,0,0,1,1,1,0,0,0,0,1; 1,1,1,1,0,1,1,0,1,0,0,0,0,0,1; 1,0,0,0,1,0,1,1,0,0,0,0,1,1,0; 0,1,1,1,0,0,0,0,0,0,0,1,1,0,0; 0,1,0,1,0,0,0,0,0,0,0,1,1,1,0; 1,1,1,0,1,0,0,0,0,0,0,0,0,0,1; 1,0,0,1,1,0,0,0,0,0,1,1,1,1,1; 1,1,1,0,0,1,0,0,1,1,0,0,0,0,0; 1,0,0,1,0,0,1,1,1,1,0,0,0,0,0; 1,1,1,1,1,0,0,0,1,0,1,0,0,0,0; 1,1,0,0,1,0,0,0,0,1,0,1,1,0,0; 0,1,1,1,0,1,0,0,0,1,1,0,1,1,0; 0,1,1,0,0,1,1,0,0,0,1,1,0,1,0; 0,0,1,1,1,0,1,0,0,0,1,1,0,0,1];\r\ntf_corr = 0;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-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];\r\nboard(board==-1) = NaN;\r\nsolution = [0,1,1,0,0,0,0,0,0,0; 1,1,1,1,0,0,0,0,0,0; 1,1,1,1,0,0,0,0,0,0; 0,1,1,0,0,0,0,0,0,0; 0,0,0,0,0,1,1,1,1,1; 0,0,0,1,1,1,1,1,1,1; 0,0,0,1,0,1,1,1,1,1; 0,1,1,1,1,1,1,1,1,1; 0,1,0,0,1,1,0,1,0,1; 0,0,1,0,0,0,1,0,1,0];\r\ntf_corr = 0;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-1,2,3,-1,-1,0,-1,-1,-1,-1; -1,-1,-1,-1,3,-1,2,-1,-1,6; -1,-1,5,-1,5,3,-1,5,7,4; -1,4,-1,5,-1,5,-1,6,-1,3; -1,-1,4,-1,5,-1,6,-1,-1,3; -1,-1,-1,2,-1,5,-1,-1,-1,-1; 4,-1,1,-1,-1,-1,1,1,-1,-1; 4,-1,1,-1,-1,-1,1,-1,4,-1; -1,-1,-1,-1,6,-1,-1,-1,-1,4; -1,4,4,-1,-1,-1,-1,4,-1,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,1,1,0,0,0,0,0,1,1; 0,0,0,1,0,0,0,1,1,1; 0,0,1,1,1,0,0,1,1,1; 0,1,1,0,1,1,0,1,0,0; 0,1,0,1,0,1,1,1,1,0; 1,1,0,0,1,1,0,0,1,1; 1,0,0,0,1,0,0,0,0,1;  1,0,0,0,1,0,0,0,0,1; 1,1,0,0,1,1,0,0,1,1; 0,1,1,1,1,1,1,1,1,0];\r\ntf_corr = 0;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-1,-1,3,3,-1,-1,-1,-1,-1,-1; 3,-1,-1,-1,-1,-1,0,-1,0,-1; -1,-1,3,4,-1,3,-1,-1,-1,-1; 3,-1,4,-1,-1,-1,-1,3,-1,-1; 2,3,-1,5,-1,4,4,-1,-1,4; -1,-1,5,4,6,6,-1,4,-1,4; -1,-1,-1,-1,-1,3,3,-1,-1,4; -1,3,-1,-1,5,6,5,-1,-1,4; -1,-1,-1,7,-1,-1,-1,7,-1,5; -1,4,-1,-1,6,-1,6,-1,5,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,1,1,0,0,0,0,0,0; 0,1,0,0,1,0,0,0,0,0; 1,1,0,0,1,0,0,0,0,0; 0,0,1,0,1,0,0,1,0,1; 0,1,0,1,1,1,1,0,1,1; 0,1,0,1,0,0,0,1,0,1; 0,1,0,0,1,1,1,0,0,1; 0,0,1,0,0,0,0,0,1,1; 0,0,1,1,1,1,1,1,1,0; 1,1,1,1,1,1,1,1,1,1];\r\ntf_corr = 1;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-1,-1,-1,4,-1,-1,4,-1,6,-1,5,4,-1,-1,1; -1,4,-1,-1,-1,-1,-1,-1,-1,7,-1,-1,-1,-1,-1; -1,-1,4,-1,-1,0,1,-1,4,-1,5,-1,6,-1,-1; 4,-1,-1,0,-1,0,-1,3,-1,-1,4,-1,5,-1,4; -1,-1,1,-1,-1,2,-1,3,5,4,-1,4,5,-1,-1; -1,2,-1,-1,3,-1,5,-1,-1,5,5,5,-1,-1,-1; -1,-1,1,2,-1,5,-1,3,4,-1,-1,-1,-1,-1,5; -1,0,0,1,-1,-1,5,-1,6,-1,7,-1,6,-1,4; -1,-1,-1,-1,-1,-1,-1,-1,5,5,-1,-1,6,-1,-1; -1,0,-1,-1,4,-1,6,-1,-1,-1,6,-1,7,-1,-1; -1,-1,-1,-1,-1,8,-1,8,7,-1,-1,-1,7,-1,3; -1,-1,5,-1,7,-1,8,-1,7,7,-1,-1,5,-1,-1; -1,2,-1,8,-1,8,-1,-1,-1,6,5,-1,-1,-1,5; -1,1,-1,5,-1,5,-1,3,-1,-1,5,-1,3,-1,4; -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,-1,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,0,1,1,1,1,1,1,1,1,1,0,0,0; 0,1,1,1,0,0,0,1,1,1,1,0,1,1,0; 1,1,0,0,0,0,0,0,0,0,1,1,0,1,1; 1,0,0,0,0,0,0,0,1,0,0,1,1,0,1; 1,0,0,0,0,0,0,1,1,1,0,0,1,0,1; 0,1,0,0,1,1,0,0,0,1,0,0,1,1,1; 0,0,0,0,0,1,1,1,0,1,1,1,1,0,1; 0,0,0,0,1,0,0,1,0,0,1,1,0,1,1; 0,0,0,0,0,0,0,1,1,1,1,0,1,1,0; 0,0,0,0,1,1,1,0,1,0,0,1,1,0,0; 0,0,0,1,0,1,1,1,1,1,1,1,1,1,0; 0,0,1,1,1,1,1,1,1,1,1,0,1,1,1; 0,0,1,1,1,0,1,1,0,0,1,0,0,0,1; 0,0,0,1,1,1,1,0,0,1,1,0,0,1,1; 0,0,0,0,0,0,0,0,0,1,0,1,0,1,0];\r\ntf_corr = 1;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":26769,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":22,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-02-25T02:55:09.000Z","updated_at":"2025-12-31T18:50:57.000Z","published_at":"2015-02-25T02:55:09.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.gif\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/media/image2.gif\"}],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/rules\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFill-a-pix\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is a logic puzzle game similar to Pic-a-Pix (aka Logic art) and Minesweeper. An example starting board is shown below on the left with the completed board shown to its right. Each number in the board indicates how many surrounding cells, including itself, are to be filled in. There are (up to) nine total cells associated with each number: four immediately adjacent (up, down, left, and right), four diagonally adjacent (one touching each corner), and the central cell (where the number is located).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBased on this logic, all 0's and 9's are determinant, as all nine cells are either empty or filled, respectively, for these numbers. Also, all 6's on the board edges and 4's in the corners should be completely filled in, as they only involve 6 or 4 cells, respectively.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor this problem, you will be provided with various boards and solutions to each board. Write a function to determine if the solution is correct for the given board. The board will be filled with NaN's where there are no number clues; these cells should not be checked. The solution board will be filled with 1's (filled) and 0's (empty).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA related problem is\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/3043-fill-a-pix-solver-basic\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFill-a-pix - Solver (basic)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,R0lGODlhlACUAPcAAP///5KSkvz8/N3d3RISErS0tISEhOrq6u3t7UJCQqqqqsLCwszMzOfn55CQkP39/X5+fvn5+eHh4d7e3rKystra2hAQEL+/v1NTU2dnZxMTE5WVlZmZmZycnNvb24eHh0tLS8vLy3JycvT09A0NDfj4+M3NzYiIiPHx8ezs7O7u7uXl5ZaWloqKikVFRby8vPX19fLy8srKyrq6uqioqPPz8/7+/peXl11dXSMjI3V1dW9vb/r6+kFBQevr60RERBEREQ8PD7e3t+Tk5N/f35iYmImJidDQ0IKCgq2trTk5OQ4ODicnJygoKJOTkwkJCYaGhqenp8TExAoKCiIiIjIyMhsbG39/f7GxsbCwsHNzc/Dw8NXV1RYWFiYmJuPj44ODgxUVFQAAAKOjo+/v77u7u5ubm9fX16WlpcfHx3R0dMjIyLm5uTExMcDAwM/PzxwcHG1tbUNDQzg4OHFxcSQkJCUlJWFhYRoaGuDg4AwMDAgICHZ2dltbWwICAtbW1s7Ozubm5oWFhRQUFDU1NTc3N3h4eL6+vqmpqXx8fFhYWC8vL/f39wsLC2BgYCsrK9nZ2WlpaXt7ey4uLioqKq+vr0ZGRh4eHuLi4vv7+8bGxlJSUh0dHZ6enikpKVxcXCwsLGpqamRkZNPT0yEhIcPDw6GhoZ+fn8XFxZSUlHl5eTMzM/b29tTU1KysrFdXV6ampj09PXp6eri4uDs7O0dHR0xMTGxsbGtrayAgINjY2IyMjG5ubrW1tR8fH8nJyRgYGL29vT8/Py0tLTo6OlpaWtHR0TAwMEhISBkZGQYGBmhoaHd3d0pKSqKioo6OjlBQUBcXF9LS0tzc3AEBAUBAQGVlZY+Pj7a2tsHBwVZWVpGRkU9PT1FRUWJiYp2dnaCgoIGBgbOzs2ZmZk1NTU5OTklJSVVVVV5eXjQ0NH19fY2NjT4+PmNjY+jo6K6urllZWQUFBTw8PAQEBJqamjY2NnBwcICAgKurq1RUVAcHB19fXwAAAAAAAAAAAAAAACH5BAAAAAAALAAAAACUAJQAAAj/AAEIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3MixI8McBEKKHEmypMmTKFOqXMmypcuXI3MYJEENyMopFlY+YblTpYUpK3+uJEFi5ZIlN3Oq1GNTZTwSBgkAmYagqtWrVU+YwMr1gKQDXLF6BRvWqokTZa+eTWs1ShS2VQscgotAK91OkOjGIhCVQAyGGyQw/NCQ8EIJGxgiZihECENNRwALXphEBUM5fAuGRMAwwICFAgwIAC164YAADE8zLFCA4QIGnT8TTDN5oIIDDBNkJrg5NunRCkMDT6jaNOqFrF3DXuiZ4C0LVhYQvJ1798DezGUnFP7beOrjCpMv/3ztW+C0RqN4QZuOe6Huvpyzdw9eWmFx++ATildIXr5AGlQAYEoh7FUHX3nb1ZfgcAjdR1x+CO2XUH8KNSfQKZQAAMswBbpnnUDYVagdQtzRx+BBDjYI4UESIkRhQhYCAA4TAIxRRYcKvacZAfGJON+C3gUZXmvjLeejQGkswcguLuCYkI688YggiQpSeaJBKaK4okEtHvQiQjE+0MMjXRThJEJQXielf0CaKOSDqxHJn5EwjpiCEVgURJ2HB7Jp5Y8qfhenclMitGeOHwJAgAYlMMRBAwy10JCkCzXAAUOWMvTCCwyFwIWjkC5EAQwMuZAoAVN8EMCqrLa6KgYQuP8qqwMgOCCrq7TaeiurEGCwa6u9/spqBhkIu+oOahgbAKzK3gGFsl6caoEJA1Rr7bXVQnABttxWIEIF3GLrLbjhWnsBBOVee2661nbQAbvV0pAFvANoS68TMtCrxKl+STZYYYoldpjACjX2WGQLBcZQZZfx22OdBEWwBhkElShQCr/YUHGVWhYECcIDZcmlnAKZMEFBXx4UY0KHPukwgikQAwQTZwxksQl1ANFMDTZzjGV+zpAwjxYaCyRyQRLSQYIGsxCUskErG9oeon0eKSAeKCRwS8/DebMJGUBUwrWQMOjhgBtPTBPylkjLWUEjb4Axh9N0gjmi1Abu+LDdA63/0QQaxEQxtkAssDPGJDULZHGgArHyzQhbNPKp0WwTtF8SdQAghR08DPR0QVEf1DKaL7PpQxNdEACyxQxYEAYhKQwOJ0E2/EAII2sPKhAij2ieAyue163y3aJP7XLVEAukwxwwfNKN7OVEUkMOicjOuEA82DLJCgQdbbmciNAoRR0RBF9o8XlHuffwA1nTJC/kyP6DLABMwof1HQ9ERxit+JBJ7siRkwwagYJTcMh8fsIbn/SGoDQAoQoaEIfsOhGENuTAA/j72UBUoAw/TGEKfwDgkAZiA2iQQgNmoNv5DDK6g6QJRGuyGgCM8YE0bIxBZTDCF24oJEZcoAxsmAHP/yinO4HUYBuuQJnwoEY8FhqPdH2xDHNOppAHGOABC7EiFhUygcoNpItFnJAJOkNFhSjAB+lT0wEEwMY2upGNDvDAG+cYATBEYI5vrOMd8dhGDziAj270IyDbSAEKDJKNbpDBIQUQx0XSoAGL7MGpniALA1jykpi0JAhEkMlOIuEHSOhkJj8ZSlFeUgQgMCUmUanKS+IAB620pCgiEUsDbLKWilBFLanArzUespGD1OMhhTlIQR7SmIMs5CITuUhgDvKRkeSXFCtURoRoMYtXXAgYtelFgXTJIAsY4xQZcsY0wvBhLNCBDmZAkNAVZHHZaAEmeIgfQQWQUAlE3wLVN/8QBGigCZQgGADcSU8AJMECkyAF9xTns4J4T4T6IZmLlgi6JurpiS4sHQC40CQm/qgP7QBAFxCRQYd2EwAP9aZEvUTRdlr0TBmtWjC6YAlHjMClP6LAIjJAi1ABYHH5q+c9i7TCi5pTUTGUAjICAIz7DYSgsksCHH7AhFGUtHsnTSkAvqnEosLUIC9Eao/+BwB1eAKnbhKIHMIBgDbE4aoQvV5E8SlDBVKNgQIZQy0aIIdioLVNAACBI1bgC0HAlYhvitBKwdnSp77UNhgFq0YHcIww2KGaUGXocNhgBQL0oEdA1WBiWbTYrubTiUcNEQBKkAYUVBRQ7ljDFjU7WtH/jpCopzXqPtU0TRhV8yDXrGI2uXjSbd6WP+KkJjnRuFsY+nKQzuQjMQE5XT4iE5DX5aMyD8nMX8rxkNA8pCSjQsla3rKVpIxlelvJyli2t5WvrOUszcvJWOZyl71s5nepa8dh9reYfzxmgJNpSO4q0ruOhKR4pUlGbM7WmsNNiHElfFKuOi25vl1uamOYPMD+Sagg/qkZilC+gVgYgXXVp0DeAAVAFCSsquVbWj0c1NkJZAd66IILSrzV0qowtziCBAlysYRgEATGHJYxjQ0SWpPaEwAoGEQ2ziCGEKqUrh1m2dSuUAgb1EILR9Zolg/S5ILK9Xo8aAUA3OAHIpjY/8coHrOKMTEEABADAmFGnpI/vGQnJ1YXeghF0XqM5T3bVSC40EMF8ozXFL+zoWausVwnQAo6tK3Q7FtIy+JABRczmp9Apu2MzxzUB7jgErMQx1+ujFtH6xYAhxBDImaROIEgeX0eHTWZIR3XoPoADhp4AgmsTOhWyxm1AkkEEIKwBwN8Wk24fq2umcxrxIL4AVVJAQKGc2KBfO6vWh5IDRCQghQAbyBIXrVCFLYQw7Q7YPBeiMEWAhl/Uaa3CMFMVKZFL3uxa1zwAji71gUvgrPLXfSSV7+3BS986etUqVIWs4SVK2NVXFjBMlbGhUUsZSFL4rEylrOgdSpGgSpSk//C1KUqtXKFbKpTk1PIoxgyqlKJ2dDUvtKjdY7VJ8/V2DhH9l1BPRAOwELafY60bQXyAD5QoOcDmcEcqtAD17JaILrAwGB/7OqvvlijgbiCGHSAdD6bXdKIEINTrQ0ALSiBDjq46dVZAQptVAMDXD/2q4/X6DdsYgnVA/eueX5YlOZHAC5ogiGgLpB9KGBkA2EDHB4AA58C4NuOJWdkv67nVYBZ8DkHVI3HcIVPfJ7thbACHAz7ZtsMIh11YEPeg753KDZaIG1QQ9kHL3rbxmARXMjHLWbrIBb0ohN+mOfVEfGEMjCjCbPFvEAyK5AWSlbPud996KftZwAQwQKU0AP/AWp9nwjkAQCBUAbI9uMKUADgCJxolLcbO/3HVn/zzz5nQZjAC+3vvPfdxwN/AAhzcA6kYm01gAcQcAVAME37EQjAwAI4MAeDJn0DZX8AYH2cd3sAMA5mAnr/x32MNxBX0HKGRxC9UAeUUAbfQxCwcAnpYFVxRntel39i5VWilnS9tnQAkAkn0iI8NoOZZkb4h278om4JwW4K4W5LGG8KsRjy5hj0BjJJWBsJwTALoW+awW/w4m/pInBf+C0Fhy5jSC8IBy8K14UMxy4OBy/7EhURZywT9ysXR4e1onG+gofK0nHG8nFyGHLCMnLGEi1RYXILMXMLQSmJqHKMuBAv/7cQnnJyonKACmEqejaEZ7d9NraJioVpuUaEGxZt4HYKlvABg1ZmhadV95EHUzcHwqALrRd5lhAKcjd/OHh/BDEGlpAIVmdrNzeEb7AHz0EDhYeKbHc9gRAHcUAOYoBBVzcBS6AIlLB2l0d/F6h5A9EKe8AMcDAGNhhjQygL1QAAvPAJxVhtJzhar8CE+zEGTQAAqPAIFWiN1JeBU6MFtjACX9CLAHBrCGINjgAASBA/OZiJ3ceJqHAJnROLAFAJGtAAZhB/QviJ4SYQ6EAKudAG52eEl/iJ4xCQSGAL50h4xyhpfeANl2ZEwqABcMAE8leNt2iPA/EKTVABVSAJ3/+YZEMYByAAAHzwCiNZWwe5BWFwCCn5UyogDUkwDNFHjxh4KN6wDABgDaKQk6KYeQLxAiTgCjkAHsb4U+ioivnxBiTwRPsxAJ6QBS4glRPpf68mBINQCaSQH/7oJ5KQDI7wkl/5lWJJEKPQBy95dQ/wDFaADFswe5h4aHSAB+1Qi/34ixQJAJRYkLwXYqQGeQQxmbYYarhIEI7pi4WIOwtRBJaHEIqoEKeJEA3wgQqxmprCKZAYcwlBmgyBBZ95EJaoGSQQBazRm77ZmxnQAb85nBSAAxQwnL9ZnMeJnL3ZARnAnL7pnNDZm1dwBdPJGkbgANdZAMG5nYaABtu5CKf/spvb2Z3TqZzXiZ7TKZ3XyZ7TWZ3bmZ3lKZzX+Z3hWXKiqRC0uYgoVymsmRCu6YiwqRCROJqleRC2aXMd6ZZBSRBDtIMH2YmZyVgxOTq3WZddR5maOAIYkAwZUIt9OVQCcQ1hUAg71JYguHfMYAXNoHygyYGJqYl8lgjHsAC0sAYQOoISCgAh8ARmoAhAiaJYCYoCMQNBcAibQFIcCaORKaOVCQCrYATYsFAlyYOkNRAGBACAwATDYYH1eCgZsAmHoGZWeYt7qSCEgAfAUAeBkKNuenUz8ARpAAFWkJ9e+pRTgwNBwAlBgKNLSnR616AA4An3AAN2wAJvmo7HZQO4/wAHlPAIL3mn2CgQ59ADrFAL9lCmnHmmw1EIpgAAtLAOiapV+xEDR8AD73AMiNmkQrcDfQAAOMCWLwqoNKihIQgA3xANcWABnqaonHilAoEJ0RAKubALq8qgkDUQxqAHcaABSfSn0Gam6Lg4J1ALLDiqFUYypWAOSGBaGdqZu2MJKaSp38qpQqmjwDonFVqEs3odGqCZB3EDVJoQRtAQ9boQK3ADDJGvDDED7LQQvyCDCiGvDJEFSIgQP3AqS1AAC9CwDvuwDbsDNACxFHsBonABFAuxFouxGeuwNLADHfuwHxuyDmsERkCyDesEZoCyCyCxLBsOFMCyVaCwh8AANv97szhrszqABTnbszIQCjLQszn7s0ErtDeLBTpgtDiLtEp7sw7gAE1rs2YwBlHLADtbtSdQBlVLCCV3mwbBAnW2ECfQEGO7EEOAqGaLtgrBBrK3EGsgDQwBtgxRCfyIsJCJrGB5Ip8JVA96jA8QhIqKbeWGAGRVbAMRmJsJABEwuPz4pcazBeUWmBgaqDmIAptgBX3woBaDAs2AB5kLUQvwCL4ADowHCUuwB0GwBG/AkAN1CccgA1zXAnvwBEAQCymKIyPgCXuwB58Krfq3qQqiDoWACsIgHTm4PGlQDZoAUYvAB6egAdN0HzHQC0KwA3gQO1f3BUGgABkgD1wHCeL/MAOxAA+3m6wCQQSLcAjBcKLt+rvlqiDloAW9MK8WswonUADz6iC0wAKowAQUU5JKkAUtKBBD4AvGcAIiOYNE4AkbWX+TCgC/IAxJQGzte4PAOxzcMAhNkANuloOEwAkbXBsO0gFiQA2hoKNJ8I4DLBCK4AdicHQzGAk4gLcyKRDv4Af1QAJSQK6Um7cD8QM6YAN2QD852AQGYANMkAoihAKX0AJYYAHO6Kv9iJMrnAaDUAaJAApdSidkgAcD6sCaNjUpABsJQHa+a8HvOxzQQBiFcHoWQwsdAABKcA0i9AV+sGhdEAIQ5Q6qc5SwYAU8agU89iJYwAmA67hR1zTc/3B6j7mg5evDAgEOwBAJQWAkFtMJYRAHQbC61lYCq0AM2kAF/+ura0ACo3x1posObYB3cSYIN0LDh2IKYiACFkAyk1urkCwQ22AO11qQ1frFDuIDjtANUeyrErANC8m6qGALt+CYL5INaMCqe3cDyCA4PIzL5mqZkpauE+KUD8x3vGGIMnegBpGaptmIrWmCCPGIBCqbCIGIClFzC5GbvBGHwjKHu1KH+XyHGJeH/byHxdKHyfKHzfIsgygt1KKGASeG/8bQ6WJwD02GB/cuaDgvCt1w+eKGR2hvTfgvA+OECTFvClFvCWOFCIGFCqGFtJqYjEAEs5XNAkEGUhCEKf8iAXqsowNw06w7UQUBCIv2yDU8EDHg0tecmDtAAtME00RgB2GwCGHrq2zQBUFQDIXrIAWgARbwCYXbbTA5EBBgARZggohMEH2A1EVNkSGAB13AXLnMZ5/wCiUgCcYgQhFgBzfQAGrQi/dRAl7QAV9AB+rG1RSiCxYACTOgttcYxgQRAo8QDWzdyExadjiwAzkwNTC9CnSACzssQkNAAIZgD21ax1YABSLw2IJtJGNgBx8gCA821gIBAldQ2WeNdFKQAZiQDOoG021ABZ/QCDq9ivrADpZQB4dpbXnwBD3wAzlQ3IbbzQNBD9RQDFQQCUB9KKUgChKQDPx4y0M4Dsj/oAqNEM22WlCe0AkAUA/Gam0SsAchNAjJtYoWEAgHMA+c3Nw8LRD0QAoA4AzuN6QVCavaYAiNIDZnDI6fiAbFkADK4G4w7QKG9QhqK71dEAxbYAFkqqhMzAAT4AfEdtoDUQrxxwKvDMZECgAcAA8KjtjcHZlnEATMDdNuEARVwATs6yDPEAa50A3J7CAnQAB1gAHJ7OECYQPcwNROUN1P1OKnvOK7VwOlkMwwvWYnkL8QogBOkMxS7Aws8GBCLhAjcA0CjOQF4eRYzuSPHOXbbKWYqa6cGdTg7K5eWxA38NQJUbZiyxBDoK9mq+cK4a8M8bYMMedzW7cHkbBRoQed/6AAir7ojK7od+AEjR7pUaAIURDpjT7plW7pi+4Ed6DpjM7pnr7ohmAIoa7o4XACpa4Aj57qdGAGqQ4KpwIEFXAAtF7rtk7rUBACt77rDaAKDbDrt97rvw7stR4CUEDstm7syF7raIAGy07rFFAGz34AuT7tHXAG074XfcHcCZEKHawQrLcQ4Z4QRKDEC1HuDIEN2MAQUtCr3f7tCeEKV6lWd3vm0xqWWZWttCMDDZy4PezmtrfS0iyolxmh6coDmzAIGpAnQkri//3m7tvDaK7mBr/mUpADPoALbXCsYt5caCzx906SUpzmR1kDDdAALqB7DZ/YJQ7xH4/NIX+uif/aIjogBt/A8f59aAEfrRcMgOhK8SsMAykQAbtABVu8rqEorSLPl/leRLPgCxkIB0ff5ho42/a+9PjucztKBoTABEAgqivv2i5v4Hg78RV/9isMAAjwDPjgrf9e9QVOAPimMr9lEMGVEHePEBOm9/o+HhgGJnXPQo+98yDyroE+rwhxrwuh+AnBr/jK5wnh5wArsAlBsAthsAxh6AVBAvEQCwnw+aAf+p/vBUog+qbfA1TQA6Yv+qiv+qsP+krgBa8f+rE/+6A/CZNg+59fBYSg+wlA+r4PCvLg+0AAFQUBEjCR/Mq//Mzf/M0vEx4R/dI//dRf/dZ//dif/dq//RQCERAAOw==\"},{\"partUri\":\"/media/image2.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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\"}]}"},{"id":3043,"title":"Fill-a-pix - Solver (basic)","description":"\u003chttp://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/rules Fill-a-pix\u003e is a logic puzzle game similar to Pic-a-Pix (aka Logic art) and Minesweeper. An example starting board is shown below on the left with the completed board shown to its right. Each number in the board indicates how many surrounding cells, including itself, are to be filled in. There are (up to) nine total cells associated with each number: four immediately adjacent (up, down, left, and right), four diagonally adjacent (one touching each corner), and the central cell (where the number is located).\r\n\r\nBased on this logic, all 0's and 9's are determinant, as all nine cells are either empty or filled, respectively, for these numbers. Also, all 6's on the board edges and 4's in the corners should be completely filled in, as they only involve 6 or 4 cells, respectively.\r\n\r\n\u003c\u003chttp://www.conceptispuzzles.com/picture/27/1558.gif\u003e\u003e\r\n\r\n\u003c\u003chttp://www.conceptispuzzles.com/picture/27/1574.gif\u003e\u003e\r\n\r\nThis problem deals with basic-logic Fill-a-pix problems; a sample step-by-step solution is found \u003chttp://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/techniques here\u003e. These problems are basic in that each clue can be solved independent of all other clues, though some looping or iteration over the board will be required to solve all the clues. Basic logic can be summarized in the following two cases, regarding the cells associated with each clue: (1) if the sum of filled-in cells equals the clue, all other associated cells should be marked as empty, and (2) if the sum of empty cells equals the total number of associated cells minus the clue, all other associated cells should be marked as filled in.\r\n\r\nFor this problem, you will be presented with a board full of clues. Write a function to solve the Fill-a-pix puzzle based on those clues, returning a solution of the same size as the board filled with 1's (filled) and 0's (empty).\r\n\r\nA related problem is \u003chttps://www.mathworks.com/matlabcentral/cody/problems/3042-fill-a-pix-solution-checker Fill-a-pix - Solution Checker\u003e.","description_html":"\u003cp\u003e\u003ca href = \"http://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/rules\"\u003eFill-a-pix\u003c/a\u003e is a logic puzzle game similar to Pic-a-Pix (aka Logic art) and Minesweeper. An example starting board is shown below on the left with the completed board shown to its right. Each number in the board indicates how many surrounding cells, including itself, are to be filled in. There are (up to) nine total cells associated with each number: four immediately adjacent (up, down, left, and right), four diagonally adjacent (one touching each corner), and the central cell (where the number is located).\u003c/p\u003e\u003cp\u003eBased on this logic, all 0's and 9's are determinant, as all nine cells are either empty or filled, respectively, for these numbers. Also, all 6's on the board edges and 4's in the corners should be completely filled in, as they only involve 6 or 4 cells, respectively.\u003c/p\u003e\u003cimg src = \"http://www.conceptispuzzles.com/picture/27/1558.gif\"\u003e\u003cimg src = \"http://www.conceptispuzzles.com/picture/27/1574.gif\"\u003e\u003cp\u003eThis problem deals with basic-logic Fill-a-pix problems; a sample step-by-step solution is found \u003ca href = \"http://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/techniques\"\u003ehere\u003c/a\u003e. These problems are basic in that each clue can be solved independent of all other clues, though some looping or iteration over the board will be required to solve all the clues. Basic logic can be summarized in the following two cases, regarding the cells associated with each clue: (1) if the sum of filled-in cells equals the clue, all other associated cells should be marked as empty, and (2) if the sum of empty cells equals the total number of associated cells minus the clue, all other associated cells should be marked as filled in.\u003c/p\u003e\u003cp\u003eFor this problem, you will be presented with a board full of clues. Write a function to solve the Fill-a-pix puzzle based on those clues, returning a solution of the same size as the board filled with 1's (filled) and 0's (empty).\u003c/p\u003e\u003cp\u003eA related problem is \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/3042-fill-a-pix-solution-checker\"\u003eFill-a-pix - Solution Checker\u003c/a\u003e.\u003c/p\u003e","function_template":"function [solution] = fill_a_pix_solver_basic(board)\r\n\r\nsolution = ones(size(board));\r\n\r\nend\r\n","test_suite":"%%\r\nboard = [-1,-1,-1,-1,1; -1,9,-1,-1,-1; -1,8,8,-1,-1; -1,-1,-1,-1,4; 4,-1,5,-1,2];\r\nboard(board==-1) = NaN;\r\nsolution = [1,1,1,0,0; 1,1,1,1,0; 1,1,1,1,1; 1,1,0,1,0; 1,1,1,1,0];\r\nassert(isequal(fill_a_pix_solver_basic(board),solution))\r\n\r\n%%\r\nboard = [-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];\r\nboard(board==-1) = NaN;\r\nsolution = [0,1,1,0,0,0,0,0,0,0; 1,1,1,1,0,0,0,0,0,0; 1,1,1,1,0,0,0,0,0,0; 0,1,1,0,0,0,0,0,0,0; 0,0,0,0,0,1,1,1,1,1; 0,0,0,1,1,1,1,1,1,1; 0,0,0,1,0,1,1,1,1,1; 0,1,1,1,1,1,1,1,1,1; 0,1,0,1,1,1,0,1,0,1; 0,0,1,0,0,0,1,0,1,0];\r\nassert(isequal(fill_a_pix_solver_basic(board),solution))\r\n\r\n%%\r\nboard = [-1,2,3,-1,-1,0,-1,-1,-1,-1; -1,-1,-1,-1,3,-1,2,-1,-1,6; -1,-1,5,-1,5,3,-1,5,7,4; -1,4,-1,5,-1,5,-1,6,-1,3; -1,-1,4,-1,5,-1,6,-1,-1,3; -1,-1,-1,2,-1,5,-1,-1,-1,-1; 4,-1,1,-1,-1,-1,1,1,-1,-1; 4,-1,1,-1,-1,-1,1,-1,4,-1; -1,-1,-1,-1,6,-1,-1,-1,-1,4; -1,4,4,-1,-1,-1,-1,4,-1,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,1,1,0,0,0,0,0,1,1; 0,0,0,1,0,0,0,1,1,1; 0,0,1,1,1,0,0,1,1,1; 0,1,1,0,1,1,0,1,0,0; 0,1,0,0,0,1,1,1,1,0; 1,1,0,0,1,1,0,0,1,1; 1,0,0,0,1,0,0,0,0,1;  1,0,0,0,1,0,0,0,0,1; 1,1,0,0,1,1,0,0,1,1; 0,1,1,1,1,1,1,1,1,0];\r\nassert(isequal(fill_a_pix_solver_basic(board),solution))\r\n\r\n%%\r\nboard = [0,-1,-1,4,3,2,1,-1,-1,-1,-1,-1,3,-1,-1; -1,-1,5,-1,-1,4,-1,-1,4,4,-1,-1,-1,-1,3; -1,5,4,5,4,5,5,-1,5,3,-1,1,2,-1,3; 4,-1,-1,-1,4,-1,-1,4,2,-1,1,-1,-1,-1,-1; -1,-1,5,4,-1,2,2,-1,1,0,-1,-1,7,5,-1; -1,-1,-1,5,-1,-1,0,-1,-1,-1,-1,4,5,-1,2; 4,-1,-1,5,4,2,0,0,-1,-1,-1,5,6,-1,-1; 5,-1,-1,6,5,-1,-1,-1,-1,-1,3,3,3,-1,3; -1,-1,5,-1,5,3,-1,-1,-1,-1,-1,-1,3,-1,-1; 5,-1,-1,6,5,-1,3,5,-1,6,-1,-1,0,-1,0; -1,-1,5,-1,4,3,2,4,5,-1,4,-1,-1,1,-1; -1,7,-1,-1,5,-1,-1,1,-1,5,5,5,-1,-1,-1; -1,-1,6,4,4,4,3,1,2,4,-1,-1,6,4,-1; -1,5,-1,6,-1,-1,-1,-1,-1,4,6,-1,-1,-1,-1; -1,-1,-1,-1,-1,-1,3,2,0,-1,4,4,3,-1,2];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,0,1,1,0,0,0,0,0,1,1,1,1,0; 0,0,1,0,1,0,0,1,1,1,0,0,0,0,1; 1,1,1,1,0,1,1,0,1,0,0,0,0,0,1; 1,0,0,0,1,0,1,1,0,0,0,0,1,1,0; 0,1,1,1,0,0,0,0,0,0,0,1,1,0,0; 0,1,0,1,0,0,0,0,0,0,0,1,1,1,0; 1,1,1,0,1,0,0,0,0,0,0,0,0,0,1; 1,0,0,1,1,0,0,0,0,0,1,1,1,1,1; 1,1,1,1,0,1,0,0,1,1,0,0,0,0,0; 1,0,0,1,0,0,1,1,1,1,0,0,0,0,0; 1,1,1,1,1,0,0,0,1,0,1,0,0,0,0; 1,1,0,0,1,0,0,0,0,1,0,1,1,0,0; 0,1,1,1,0,1,0,0,0,1,1,0,1,1,0; 0,1,1,0,0,1,1,0,0,0,1,1,0,1,0; 0,0,1,1,1,0,1,0,0,0,1,1,0,0,1];\r\nassert(isequal(fill_a_pix_solver_basic(board),solution))\r\n\r\n%% anti-cheating test case\r\nboard = NaN(9);\r\nsolution = NaN(9);\r\nfor i = 1:3\r\n\tfor j = 1:3\r\n\t\tif randi(2) == 2\r\n\t\t\tboard(i*3-1,j*3-1) = 9;\r\n\t\t\tsolution((i*3-2):(i*3),(j*3-2):(j*3)) = 1;\r\n\t\telse\r\n\t\t\tboard(i*3-1,j*3-1) = 0;\r\n\t\t\tsolution((i*3-2):(i*3),(j*3-2):(j*3)) = 0;\r\n\t\tend\r\n\tend\r\nend\r\nassert(isequal(fill_a_pix_solver_basic(board),solution))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":11,"created_by":26769,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":"2015-02-25T19:14:45.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2015-02-25T04:24:32.000Z","updated_at":"2026-04-01T15:40:48.000Z","published_at":"2015-02-25T04:24:32.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.gif\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/media/image2.gif\"}],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/rules\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFill-a-pix\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is a logic puzzle game similar to Pic-a-Pix (aka Logic art) and Minesweeper. An example starting board is shown below on the left with the completed board shown to its right. Each number in the board indicates how many surrounding cells, including itself, are to be filled in. There are (up to) nine total cells associated with each number: four immediately adjacent (up, down, left, and right), four diagonally adjacent (one touching each corner), and the central cell (where the number is located).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBased on this logic, all 0's and 9's are determinant, as all nine cells are either empty or filled, respectively, for these numbers. Also, all 6's on the board edges and 4's in the corners should be completely filled in, as they only involve 6 or 4 cells, respectively.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis problem deals with basic-logic Fill-a-pix problems; a sample step-by-step solution is found\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/techniques\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ehere\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. These problems are basic in that each clue can be solved independent of all other clues, though some looping or iteration over the board will be required to solve all the clues. Basic logic can be summarized in the following two cases, regarding the cells associated with each clue: (1) if the sum of filled-in cells equals the clue, all other associated cells should be marked as empty, and (2) if the sum of empty cells equals the total number of associated cells minus the clue, all other associated cells should be marked as filled in.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor this problem, you will be presented with a board full of clues. Write a function to solve the Fill-a-pix puzzle based on those clues, returning a solution of the same size as the board filled with 1's (filled) and 0's (empty).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA related problem is\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/3042-fill-a-pix-solution-checker\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFill-a-pix - Solution Checker\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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\"},{\"partUri\":\"/media/image2.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":3042,"title":"Fill-a-pix - Solution Checker","description":"\u003chttp://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/rules Fill-a-pix\u003e is a logic puzzle game similar to Pic-a-Pix (aka Logic art) and Minesweeper. An example starting board is shown below on the left with the completed board shown to its right. Each number in the board indicates how many surrounding cells, including itself, are to be filled in. There are (up to) nine total cells associated with each number: four immediately adjacent (up, down, left, and right), four diagonally adjacent (one touching each corner), and the central cell (where the number is located).\r\n\r\nBased on this logic, all 0's and 9's are determinant, as all nine cells are either empty or filled, respectively, for these numbers. Also, all 6's on the board edges and 4's in the corners should be completely filled in, as they only involve 6 or 4 cells, respectively.\r\n\r\n\u003c\u003chttp://www.conceptispuzzles.com/picture/11/1418.gif\u003e\u003e \r\n\r\n\u003c\u003chttp://www.conceptispuzzles.com/picture/11/1420.gif\u003e\u003e\r\n\r\nFor this problem, you will be provided with various boards and solutions to each board. Write a function to determine if the solution is correct for the given board. The board will be filled with NaN's where there are no number clues; these cells should not be checked. The solution board will be filled with 1's (filled) and 0's (empty).\r\n\r\nA related problem is \u003chttps://www.mathworks.com/matlabcentral/cody/problems/3043-fill-a-pix-solver-basic Fill-a-pix - Solver (basic)\u003e.","description_html":"\u003cp\u003e\u003ca href = \"http://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/rules\"\u003eFill-a-pix\u003c/a\u003e is a logic puzzle game similar to Pic-a-Pix (aka Logic art) and Minesweeper. An example starting board is shown below on the left with the completed board shown to its right. Each number in the board indicates how many surrounding cells, including itself, are to be filled in. There are (up to) nine total cells associated with each number: four immediately adjacent (up, down, left, and right), four diagonally adjacent (one touching each corner), and the central cell (where the number is located).\u003c/p\u003e\u003cp\u003eBased on this logic, all 0's and 9's are determinant, as all nine cells are either empty or filled, respectively, for these numbers. Also, all 6's on the board edges and 4's in the corners should be completely filled in, as they only involve 6 or 4 cells, respectively.\u003c/p\u003e\u003cimg src = \"http://www.conceptispuzzles.com/picture/11/1418.gif\"\u003e\u003cimg src = \"http://www.conceptispuzzles.com/picture/11/1420.gif\"\u003e\u003cp\u003eFor this problem, you will be provided with various boards and solutions to each board. Write a function to determine if the solution is correct for the given board. The board will be filled with NaN's where there are no number clues; these cells should not be checked. The solution board will be filled with 1's (filled) and 0's (empty).\u003c/p\u003e\u003cp\u003eA related problem is \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/3043-fill-a-pix-solver-basic\"\u003eFill-a-pix - Solver (basic)\u003c/a\u003e.\u003c/p\u003e","function_template":"function [tf] = fill_a_pix_solution_check(board,solution)\r\n\r\ntf = 1;\r\n\r\nend\r\n","test_suite":"%%\r\nboard = [-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];\r\nboard(board==-1) = NaN;\r\nsolution = [0,1,1,0,0,0,0,0,0,0; 1,1,1,1,0,0,0,0,0,0; 1,1,1,1,0,0,0,0,0,0; 0,1,1,0,0,0,0,0,0,0; 0,0,0,0,0,1,1,1,1,1; 0,0,0,1,1,1,1,1,1,1; 0,0,0,1,0,1,1,1,1,1; 0,1,1,1,1,1,1,1,1,1; 0,1,0,1,1,1,0,1,0,1; 0,0,1,0,0,0,1,0,1,0];\r\ntf_corr = 1;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-1,2,3,-1,-1,0,-1,-1,-1,-1; -1,-1,-1,-1,3,-1,2,-1,-1,6; -1,-1,5,-1,5,3,-1,5,7,4; -1,4,-1,5,-1,5,-1,6,-1,3; -1,-1,4,-1,5,-1,6,-1,-1,3; -1,-1,-1,2,-1,5,-1,-1,-1,-1; 4,-1,1,-1,-1,-1,1,1,-1,-1; 4,-1,1,-1,-1,-1,1,-1,4,-1; -1,-1,-1,-1,6,-1,-1,-1,-1,4; -1,4,4,-1,-1,-1,-1,4,-1,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,1,1,0,0,0,0,0,1,1; 0,0,0,1,0,0,0,1,1,1; 0,0,1,1,1,0,0,1,1,1; 0,1,1,0,1,1,0,1,0,0; 0,1,0,0,0,1,1,1,1,0; 1,1,0,0,1,1,0,0,1,1; 1,0,0,0,1,0,0,0,0,1;  1,0,0,0,1,0,0,0,0,1; 1,1,0,0,1,1,0,0,1,1; 0,1,1,1,1,1,1,1,1,0];\r\ntf_corr = 1;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [0,-1,-1,4,3,2,1,-1,-1,-1,-1,-1,3,-1,-1; -1,-1,5,-1,-1,4,-1,-1,4,4,-1,-1,-1,-1,3; -1,5,4,5,4,5,5,-1,5,3,-1,1,2,-1,3; 4,-1,-1,-1,4,-1,-1,4,2,-1,1,-1,-1,-1,-1; -1,-1,5,4,-1,2,2,-1,1,0,-1,-1,7,5,-1; -1,-1,-1,5,-1,-1,0,-1,-1,-1,-1,4,5,-1,2; 4,-1,-1,5,4,2,0,0,-1,-1,-1,5,6,-1,-1; 5,-1,-1,6,5,-1,-1,-1,-1,-1,3,3,3,-1,3; -1,-1,5,-1,5,3,-1,-1,-1,-1,-1,-1,3,-1,-1; 5,-1,-1,6,5,-1,3,5,-1,6,-1,-1,0,-1,0; -1,-1,5,-1,4,3,2,4,5,-1,4,-1,-1,1,-1; -1,7,-1,-1,5,-1,-1,1,-1,5,5,5,-1,-1,-1; -1,-1,6,4,4,4,3,1,2,4,-1,-1,6,4,-1; -1,5,-1,6,-1,-1,-1,-1,-1,4,6,-1,-1,-1,-1; -1,-1,-1,-1,-1,-1,3,2,0,-1,4,4,3,-1,2];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,0,1,1,0,0,0,0,0,1,1,1,1,0; 0,0,1,0,1,0,0,1,1,1,0,0,0,0,1; 1,1,1,1,0,1,1,0,1,0,0,0,0,0,1; 1,0,0,0,1,0,1,1,0,0,0,0,1,1,0; 0,1,1,1,0,0,0,0,0,0,0,1,1,0,0; 0,1,0,1,0,0,0,0,0,0,0,1,1,1,0; 1,1,1,0,1,0,0,0,0,0,0,0,0,0,1; 1,0,0,1,1,0,0,0,0,0,1,1,1,1,1; 1,1,1,1,0,1,0,0,1,1,0,0,0,0,0; 1,0,0,1,0,0,1,1,1,1,0,0,0,0,0; 1,1,1,1,1,0,0,0,1,0,1,0,0,0,0; 1,1,0,0,1,0,0,0,0,1,0,1,1,0,0; 0,1,1,1,0,1,0,0,0,1,1,0,1,1,0; 0,1,1,0,0,1,1,0,0,0,1,1,0,1,0; 0,0,1,1,1,0,1,0,0,0,1,1,0,0,1];\r\ntf_corr = 1;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-1,-1,3,3,-1,-1,-1,-1,-1,-1; 3,-1,-1,-1,-1,-1,0,-1,0,-1; -1,-1,3,4,-1,3,-1,-1,-1,-1; 3,-1,4,-1,-1,-1,-1,3,-1,-1; 2,3,-1,5,-1,4,4,-1,-1,4; -1,-1,5,4,6,6,-1,4,-1,4; -1,-1,-1,-1,-1,3,3,-1,-1,4; -1,3,-1,-1,5,6,5,-1,-1,4; -1,-1,-1,7,-1,-1,-1,7,-1,5; -1,4,-1,-1,6,-1,6,-1,5,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,1,1,0,0,0,0,0,0; 0,1,0,0,1,0,0,0,0,0; 1,1,0,0,1,0,0,0,0,0; 0,0,1,0,1,0,0,1,0,1; 0,1,0,1,1,1,1,0,1,1; 0,1,0,1,0,1,0,1,0,1; 0,1,0,0,1,1,1,0,0,1; 0,0,1,0,0,0,0,0,1,1; 0,0,1,1,1,1,1,1,1,0; 1,1,1,1,1,1,1,1,1,1];\r\ntf_corr = 0;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-1,-1,-1,4,-1,-1,4,-1,6,-1,5,4,-1,-1,1; -1,4,-1,-1,-1,-1,-1,-1,-1,7,-1,-1,-1,-1,-1; -1,-1,4,-1,-1,0,1,-1,4,-1,5,-1,6,-1,-1; 4,-1,-1,0,-1,0,-1,3,-1,-1,4,-1,5,-1,4; -1,-1,1,-1,-1,2,-1,3,5,4,-1,4,5,-1,-1; -1,2,-1,-1,3,-1,5,-1,-1,5,5,5,-1,-1,-1; -1,-1,1,2,-1,5,-1,3,4,-1,-1,-1,-1,-1,5; -1,0,0,1,-1,-1,5,-1,6,-1,7,-1,6,-1,4; -1,-1,-1,-1,-1,-1,-1,-1,5,5,-1,-1,6,-1,-1; -1,0,-1,-1,4,-1,6,-1,-1,-1,6,-1,7,-1,-1; -1,-1,-1,-1,-1,8,-1,8,7,-1,-1,-1,7,-1,3; -1,-1,5,-1,7,-1,8,-1,7,7,-1,-1,5,-1,-1; -1,2,-1,8,-1,8,-1,-1,-1,6,5,-1,-1,-1,5; -1,1,-1,5,-1,5,-1,3,-1,-1,5,-1,3,-1,4; -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,-1,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,0,1,1,1,1,1,1,1,1,1,0,0,0; 0,1,1,1,0,0,0,1,1,1,1,0,1,1,0; 1,1,0,0,0,0,0,0,0,0,1,1,0,1,1; 1,0,0,0,0,0,0,0,1,0,0,1,1,0,1; 1,0,0,0,0,0,0,1,1,1,0,0,1,0,1; 0,1,0,1,1,1,0,0,0,1,0,0,1,1,1; 0,0,0,0,0,1,1,1,0,1,1,1,1,0,1; 0,0,0,0,1,0,0,1,0,0,1,1,0,1,1; 0,0,0,0,0,0,0,1,1,1,1,0,1,1,0; 0,0,0,0,1,1,1,0,1,0,0,1,1,0,0; 0,0,0,1,0,1,1,1,1,1,1,1,1,1,0; 0,0,1,1,1,1,1,1,1,1,1,0,1,1,1; 0,0,1,1,1,0,1,1,0,0,1,0,0,0,1; 0,0,0,1,1,1,1,0,0,1,1,0,0,1,1; 0,0,0,0,0,0,0,0,0,1,0,1,0,1,0];\r\ntf_corr = 0;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [0,-1,-1,4,3,2,1,-1,-1,-1,-1,-1,3,-1,-1; -1,-1,5,-1,-1,4,-1,-1,4,4,-1,-1,-1,-1,3; -1,5,4,5,4,5,5,-1,5,3,-1,1,2,-1,3; 4,-1,-1,-1,4,-1,-1,4,2,-1,1,-1,-1,-1,-1; -1,-1,5,4,-1,2,2,-1,1,0,-1,-1,7,5,-1; -1,-1,-1,5,-1,-1,0,-1,-1,-1,-1,4,5,-1,2; 4,-1,-1,5,4,2,0,0,-1,-1,-1,5,6,-1,-1; 5,-1,-1,6,5,-1,-1,-1,-1,-1,3,3,3,-1,3; -1,-1,5,-1,5,3,-1,-1,-1,-1,-1,-1,3,-1,-1; 5,-1,-1,6,5,-1,3,5,-1,6,-1,-1,0,-1,0; -1,-1,5,-1,4,3,2,4,5,-1,4,-1,-1,1,-1; -1,7,-1,-1,5,-1,-1,1,-1,5,5,5,-1,-1,-1; -1,-1,6,4,4,4,3,1,2,4,-1,-1,6,4,-1; -1,5,-1,6,-1,-1,-1,-1,-1,4,6,-1,-1,-1,-1; -1,-1,-1,-1,-1,-1,3,2,0,-1,4,4,3,-1,2];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,0,1,1,0,0,0,0,0,1,1,1,1,0; 0,0,1,0,1,0,0,1,1,1,0,0,0,0,1; 1,1,1,1,0,1,1,0,1,0,0,0,0,0,1; 1,0,0,0,1,0,1,1,0,0,0,0,1,1,0; 0,1,1,1,0,0,0,0,0,0,0,1,1,0,0; 0,1,0,1,0,0,0,0,0,0,0,1,1,1,0; 1,1,1,0,1,0,0,0,0,0,0,0,0,0,1; 1,0,0,1,1,0,0,0,0,0,1,1,1,1,1; 1,1,1,0,0,1,0,0,1,1,0,0,0,0,0; 1,0,0,1,0,0,1,1,1,1,0,0,0,0,0; 1,1,1,1,1,0,0,0,1,0,1,0,0,0,0; 1,1,0,0,1,0,0,0,0,1,0,1,1,0,0; 0,1,1,1,0,1,0,0,0,1,1,0,1,1,0; 0,1,1,0,0,1,1,0,0,0,1,1,0,1,0; 0,0,1,1,1,0,1,0,0,0,1,1,0,0,1];\r\ntf_corr = 0;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-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];\r\nboard(board==-1) = NaN;\r\nsolution = [0,1,1,0,0,0,0,0,0,0; 1,1,1,1,0,0,0,0,0,0; 1,1,1,1,0,0,0,0,0,0; 0,1,1,0,0,0,0,0,0,0; 0,0,0,0,0,1,1,1,1,1; 0,0,0,1,1,1,1,1,1,1; 0,0,0,1,0,1,1,1,1,1; 0,1,1,1,1,1,1,1,1,1; 0,1,0,0,1,1,0,1,0,1; 0,0,1,0,0,0,1,0,1,0];\r\ntf_corr = 0;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-1,2,3,-1,-1,0,-1,-1,-1,-1; -1,-1,-1,-1,3,-1,2,-1,-1,6; -1,-1,5,-1,5,3,-1,5,7,4; -1,4,-1,5,-1,5,-1,6,-1,3; -1,-1,4,-1,5,-1,6,-1,-1,3; -1,-1,-1,2,-1,5,-1,-1,-1,-1; 4,-1,1,-1,-1,-1,1,1,-1,-1; 4,-1,1,-1,-1,-1,1,-1,4,-1; -1,-1,-1,-1,6,-1,-1,-1,-1,4; -1,4,4,-1,-1,-1,-1,4,-1,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,1,1,0,0,0,0,0,1,1; 0,0,0,1,0,0,0,1,1,1; 0,0,1,1,1,0,0,1,1,1; 0,1,1,0,1,1,0,1,0,0; 0,1,0,1,0,1,1,1,1,0; 1,1,0,0,1,1,0,0,1,1; 1,0,0,0,1,0,0,0,0,1;  1,0,0,0,1,0,0,0,0,1; 1,1,0,0,1,1,0,0,1,1; 0,1,1,1,1,1,1,1,1,0];\r\ntf_corr = 0;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-1,-1,3,3,-1,-1,-1,-1,-1,-1; 3,-1,-1,-1,-1,-1,0,-1,0,-1; -1,-1,3,4,-1,3,-1,-1,-1,-1; 3,-1,4,-1,-1,-1,-1,3,-1,-1; 2,3,-1,5,-1,4,4,-1,-1,4; -1,-1,5,4,6,6,-1,4,-1,4; -1,-1,-1,-1,-1,3,3,-1,-1,4; -1,3,-1,-1,5,6,5,-1,-1,4; -1,-1,-1,7,-1,-1,-1,7,-1,5; -1,4,-1,-1,6,-1,6,-1,5,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,1,1,0,0,0,0,0,0; 0,1,0,0,1,0,0,0,0,0; 1,1,0,0,1,0,0,0,0,0; 0,0,1,0,1,0,0,1,0,1; 0,1,0,1,1,1,1,0,1,1; 0,1,0,1,0,0,0,1,0,1; 0,1,0,0,1,1,1,0,0,1; 0,0,1,0,0,0,0,0,1,1; 0,0,1,1,1,1,1,1,1,0; 1,1,1,1,1,1,1,1,1,1];\r\ntf_corr = 1;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n\r\n%%\r\nboard = [-1,-1,-1,4,-1,-1,4,-1,6,-1,5,4,-1,-1,1; -1,4,-1,-1,-1,-1,-1,-1,-1,7,-1,-1,-1,-1,-1; -1,-1,4,-1,-1,0,1,-1,4,-1,5,-1,6,-1,-1; 4,-1,-1,0,-1,0,-1,3,-1,-1,4,-1,5,-1,4; -1,-1,1,-1,-1,2,-1,3,5,4,-1,4,5,-1,-1; -1,2,-1,-1,3,-1,5,-1,-1,5,5,5,-1,-1,-1; -1,-1,1,2,-1,5,-1,3,4,-1,-1,-1,-1,-1,5; -1,0,0,1,-1,-1,5,-1,6,-1,7,-1,6,-1,4; -1,-1,-1,-1,-1,-1,-1,-1,5,5,-1,-1,6,-1,-1; -1,0,-1,-1,4,-1,6,-1,-1,-1,6,-1,7,-1,-1; -1,-1,-1,-1,-1,8,-1,8,7,-1,-1,-1,7,-1,3; -1,-1,5,-1,7,-1,8,-1,7,7,-1,-1,5,-1,-1; -1,2,-1,8,-1,8,-1,-1,-1,6,5,-1,-1,-1,5; -1,1,-1,5,-1,5,-1,3,-1,-1,5,-1,3,-1,4; -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,-1,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,0,1,1,1,1,1,1,1,1,1,0,0,0; 0,1,1,1,0,0,0,1,1,1,1,0,1,1,0; 1,1,0,0,0,0,0,0,0,0,1,1,0,1,1; 1,0,0,0,0,0,0,0,1,0,0,1,1,0,1; 1,0,0,0,0,0,0,1,1,1,0,0,1,0,1; 0,1,0,0,1,1,0,0,0,1,0,0,1,1,1; 0,0,0,0,0,1,1,1,0,1,1,1,1,0,1; 0,0,0,0,1,0,0,1,0,0,1,1,0,1,1; 0,0,0,0,0,0,0,1,1,1,1,0,1,1,0; 0,0,0,0,1,1,1,0,1,0,0,1,1,0,0; 0,0,0,1,0,1,1,1,1,1,1,1,1,1,0; 0,0,1,1,1,1,1,1,1,1,1,0,1,1,1; 0,0,1,1,1,0,1,1,0,0,1,0,0,0,1; 0,0,0,1,1,1,1,0,0,1,1,0,0,1,1; 0,0,0,0,0,0,0,0,0,1,0,1,0,1,0];\r\ntf_corr = 1;\r\nassert(isequal(fill_a_pix_solution_check(board,solution),tf_corr))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":26769,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":22,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-02-25T02:55:09.000Z","updated_at":"2025-12-31T18:50:57.000Z","published_at":"2015-02-25T02:55:09.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.gif\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/media/image2.gif\"}],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/rules\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFill-a-pix\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is a logic puzzle game similar to Pic-a-Pix (aka Logic art) and Minesweeper. An example starting board is shown below on the left with the completed board shown to its right. Each number in the board indicates how many surrounding cells, including itself, are to be filled in. There are (up to) nine total cells associated with each number: four immediately adjacent (up, down, left, and right), four diagonally adjacent (one touching each corner), and the central cell (where the number is located).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBased on this logic, all 0's and 9's are determinant, as all nine cells are either empty or filled, respectively, for these numbers. Also, all 6's on the board edges and 4's in the corners should be completely filled in, as they only involve 6 or 4 cells, respectively.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor this problem, you will be provided with various boards and solutions to each board. Write a function to determine if the solution is correct for the given board. The board will be filled with NaN's where there are no number clues; these cells should not be checked. The solution board will be filled with 1's (filled) and 0's (empty).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA related problem is\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/3043-fill-a-pix-solver-basic\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFill-a-pix - Solver (basic)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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\"},{\"partUri\":\"/media/image2.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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\"}]}"},{"id":3043,"title":"Fill-a-pix - Solver (basic)","description":"\u003chttp://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/rules Fill-a-pix\u003e is a logic puzzle game similar to Pic-a-Pix (aka Logic art) and Minesweeper. An example starting board is shown below on the left with the completed board shown to its right. Each number in the board indicates how many surrounding cells, including itself, are to be filled in. There are (up to) nine total cells associated with each number: four immediately adjacent (up, down, left, and right), four diagonally adjacent (one touching each corner), and the central cell (where the number is located).\r\n\r\nBased on this logic, all 0's and 9's are determinant, as all nine cells are either empty or filled, respectively, for these numbers. Also, all 6's on the board edges and 4's in the corners should be completely filled in, as they only involve 6 or 4 cells, respectively.\r\n\r\n\u003c\u003chttp://www.conceptispuzzles.com/picture/27/1558.gif\u003e\u003e\r\n\r\n\u003c\u003chttp://www.conceptispuzzles.com/picture/27/1574.gif\u003e\u003e\r\n\r\nThis problem deals with basic-logic Fill-a-pix problems; a sample step-by-step solution is found \u003chttp://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/techniques here\u003e. These problems are basic in that each clue can be solved independent of all other clues, though some looping or iteration over the board will be required to solve all the clues. Basic logic can be summarized in the following two cases, regarding the cells associated with each clue: (1) if the sum of filled-in cells equals the clue, all other associated cells should be marked as empty, and (2) if the sum of empty cells equals the total number of associated cells minus the clue, all other associated cells should be marked as filled in.\r\n\r\nFor this problem, you will be presented with a board full of clues. Write a function to solve the Fill-a-pix puzzle based on those clues, returning a solution of the same size as the board filled with 1's (filled) and 0's (empty).\r\n\r\nA related problem is \u003chttps://www.mathworks.com/matlabcentral/cody/problems/3042-fill-a-pix-solution-checker Fill-a-pix - Solution Checker\u003e.","description_html":"\u003cp\u003e\u003ca href = \"http://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/rules\"\u003eFill-a-pix\u003c/a\u003e is a logic puzzle game similar to Pic-a-Pix (aka Logic art) and Minesweeper. An example starting board is shown below on the left with the completed board shown to its right. Each number in the board indicates how many surrounding cells, including itself, are to be filled in. There are (up to) nine total cells associated with each number: four immediately adjacent (up, down, left, and right), four diagonally adjacent (one touching each corner), and the central cell (where the number is located).\u003c/p\u003e\u003cp\u003eBased on this logic, all 0's and 9's are determinant, as all nine cells are either empty or filled, respectively, for these numbers. Also, all 6's on the board edges and 4's in the corners should be completely filled in, as they only involve 6 or 4 cells, respectively.\u003c/p\u003e\u003cimg src = \"http://www.conceptispuzzles.com/picture/27/1558.gif\"\u003e\u003cimg src = \"http://www.conceptispuzzles.com/picture/27/1574.gif\"\u003e\u003cp\u003eThis problem deals with basic-logic Fill-a-pix problems; a sample step-by-step solution is found \u003ca href = \"http://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/techniques\"\u003ehere\u003c/a\u003e. These problems are basic in that each clue can be solved independent of all other clues, though some looping or iteration over the board will be required to solve all the clues. Basic logic can be summarized in the following two cases, regarding the cells associated with each clue: (1) if the sum of filled-in cells equals the clue, all other associated cells should be marked as empty, and (2) if the sum of empty cells equals the total number of associated cells minus the clue, all other associated cells should be marked as filled in.\u003c/p\u003e\u003cp\u003eFor this problem, you will be presented with a board full of clues. Write a function to solve the Fill-a-pix puzzle based on those clues, returning a solution of the same size as the board filled with 1's (filled) and 0's (empty).\u003c/p\u003e\u003cp\u003eA related problem is \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/3042-fill-a-pix-solution-checker\"\u003eFill-a-pix - Solution Checker\u003c/a\u003e.\u003c/p\u003e","function_template":"function [solution] = fill_a_pix_solver_basic(board)\r\n\r\nsolution = ones(size(board));\r\n\r\nend\r\n","test_suite":"%%\r\nboard = [-1,-1,-1,-1,1; -1,9,-1,-1,-1; -1,8,8,-1,-1; -1,-1,-1,-1,4; 4,-1,5,-1,2];\r\nboard(board==-1) = NaN;\r\nsolution = [1,1,1,0,0; 1,1,1,1,0; 1,1,1,1,1; 1,1,0,1,0; 1,1,1,1,0];\r\nassert(isequal(fill_a_pix_solver_basic(board),solution))\r\n\r\n%%\r\nboard = [-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];\r\nboard(board==-1) = NaN;\r\nsolution = [0,1,1,0,0,0,0,0,0,0; 1,1,1,1,0,0,0,0,0,0; 1,1,1,1,0,0,0,0,0,0; 0,1,1,0,0,0,0,0,0,0; 0,0,0,0,0,1,1,1,1,1; 0,0,0,1,1,1,1,1,1,1; 0,0,0,1,0,1,1,1,1,1; 0,1,1,1,1,1,1,1,1,1; 0,1,0,1,1,1,0,1,0,1; 0,0,1,0,0,0,1,0,1,0];\r\nassert(isequal(fill_a_pix_solver_basic(board),solution))\r\n\r\n%%\r\nboard = [-1,2,3,-1,-1,0,-1,-1,-1,-1; -1,-1,-1,-1,3,-1,2,-1,-1,6; -1,-1,5,-1,5,3,-1,5,7,4; -1,4,-1,5,-1,5,-1,6,-1,3; -1,-1,4,-1,5,-1,6,-1,-1,3; -1,-1,-1,2,-1,5,-1,-1,-1,-1; 4,-1,1,-1,-1,-1,1,1,-1,-1; 4,-1,1,-1,-1,-1,1,-1,4,-1; -1,-1,-1,-1,6,-1,-1,-1,-1,4; -1,4,4,-1,-1,-1,-1,4,-1,-1];\r\nboard(board==-1) = NaN;\r\nsolution = [0,1,1,0,0,0,0,0,1,1; 0,0,0,1,0,0,0,1,1,1; 0,0,1,1,1,0,0,1,1,1; 0,1,1,0,1,1,0,1,0,0; 0,1,0,0,0,1,1,1,1,0; 1,1,0,0,1,1,0,0,1,1; 1,0,0,0,1,0,0,0,0,1;  1,0,0,0,1,0,0,0,0,1; 1,1,0,0,1,1,0,0,1,1; 0,1,1,1,1,1,1,1,1,0];\r\nassert(isequal(fill_a_pix_solver_basic(board),solution))\r\n\r\n%%\r\nboard = [0,-1,-1,4,3,2,1,-1,-1,-1,-1,-1,3,-1,-1; -1,-1,5,-1,-1,4,-1,-1,4,4,-1,-1,-1,-1,3; -1,5,4,5,4,5,5,-1,5,3,-1,1,2,-1,3; 4,-1,-1,-1,4,-1,-1,4,2,-1,1,-1,-1,-1,-1; -1,-1,5,4,-1,2,2,-1,1,0,-1,-1,7,5,-1; -1,-1,-1,5,-1,-1,0,-1,-1,-1,-1,4,5,-1,2; 4,-1,-1,5,4,2,0,0,-1,-1,-1,5,6,-1,-1; 5,-1,-1,6,5,-1,-1,-1,-1,-1,3,3,3,-1,3; -1,-1,5,-1,5,3,-1,-1,-1,-1,-1,-1,3,-1,-1; 5,-1,-1,6,5,-1,3,5,-1,6,-1,-1,0,-1,0; -1,-1,5,-1,4,3,2,4,5,-1,4,-1,-1,1,-1; -1,7,-1,-1,5,-1,-1,1,-1,5,5,5,-1,-1,-1; -1,-1,6,4,4,4,3,1,2,4,-1,-1,6,4,-1; -1,5,-1,6,-1,-1,-1,-1,-1,4,6,-1,-1,-1,-1; -1,-1,-1,-1,-1,-1,3,2,0,-1,4,4,3,-1,2];\r\nboard(board==-1) = NaN;\r\nsolution = [0,0,0,1,1,0,0,0,0,0,1,1,1,1,0; 0,0,1,0,1,0,0,1,1,1,0,0,0,0,1; 1,1,1,1,0,1,1,0,1,0,0,0,0,0,1; 1,0,0,0,1,0,1,1,0,0,0,0,1,1,0; 0,1,1,1,0,0,0,0,0,0,0,1,1,0,0; 0,1,0,1,0,0,0,0,0,0,0,1,1,1,0; 1,1,1,0,1,0,0,0,0,0,0,0,0,0,1; 1,0,0,1,1,0,0,0,0,0,1,1,1,1,1; 1,1,1,1,0,1,0,0,1,1,0,0,0,0,0; 1,0,0,1,0,0,1,1,1,1,0,0,0,0,0; 1,1,1,1,1,0,0,0,1,0,1,0,0,0,0; 1,1,0,0,1,0,0,0,0,1,0,1,1,0,0; 0,1,1,1,0,1,0,0,0,1,1,0,1,1,0; 0,1,1,0,0,1,1,0,0,0,1,1,0,1,0; 0,0,1,1,1,0,1,0,0,0,1,1,0,0,1];\r\nassert(isequal(fill_a_pix_solver_basic(board),solution))\r\n\r\n%% anti-cheating test case\r\nboard = NaN(9);\r\nsolution = NaN(9);\r\nfor i = 1:3\r\n\tfor j = 1:3\r\n\t\tif randi(2) == 2\r\n\t\t\tboard(i*3-1,j*3-1) = 9;\r\n\t\t\tsolution((i*3-2):(i*3),(j*3-2):(j*3)) = 1;\r\n\t\telse\r\n\t\t\tboard(i*3-1,j*3-1) = 0;\r\n\t\t\tsolution((i*3-2):(i*3),(j*3-2):(j*3)) = 0;\r\n\t\tend\r\n\tend\r\nend\r\nassert(isequal(fill_a_pix_solver_basic(board),solution))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":11,"created_by":26769,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":"2015-02-25T19:14:45.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2015-02-25T04:24:32.000Z","updated_at":"2026-04-01T15:40:48.000Z","published_at":"2015-02-25T04:24:32.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.gif\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/media/image2.gif\"}],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/rules\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFill-a-pix\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is a logic puzzle game similar to Pic-a-Pix (aka Logic art) and Minesweeper. An example starting board is shown below on the left with the completed board shown to its right. Each number in the board indicates how many surrounding cells, including itself, are to be filled in. There are (up to) nine total cells associated with each number: four immediately adjacent (up, down, left, and right), four diagonally adjacent (one touching each corner), and the central cell (where the number is located).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBased on this logic, all 0's and 9's are determinant, as all nine cells are either empty or filled, respectively, for these numbers. Also, all 6's on the board edges and 4's in the corners should be completely filled in, as they only involve 6 or 4 cells, respectively.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis problem deals with basic-logic Fill-a-pix problems; a sample step-by-step solution is found\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.conceptispuzzles.com/index.aspx?uri=puzzle/fill-a-pix/techniques\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ehere\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. These problems are basic in that each clue can be solved independent of all other clues, though some looping or iteration over the board will be required to solve all the clues. Basic logic can be summarized in the following two cases, regarding the cells associated with each clue: (1) if the sum of filled-in cells equals the clue, all other associated cells should be marked as empty, and (2) if the sum of empty cells equals the total number of associated cells minus the clue, all other associated cells should be marked as filled in.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor this problem, you will be presented with a board full of clues. Write a function to solve the Fill-a-pix puzzle based on those clues, returning a solution of the same size as the board filled with 1's (filled) and 0's (empty).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA related problem is\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/3042-fill-a-pix-solution-checker\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFill-a-pix - Solution Checker\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,R0lGODlhbgBuAPcAAP///wAAABISEmxsbO/v756enoCAgHNzc5KSkt3d3d/f3729vf7+/vDw8GVlZeDg4PLy8m5ubvb29vz8/C4uLjExMd7e3vv7++3t7V5eXvr6+omJiSMjIwwMDPn5+Q0NDfT09NHR0XBwcDQ0NOHh4Xh4eP39/T09PePj4yEhIZWVlc/Pz4iIiF1dXYKCgnJycjY2NnR0dEJCQhsbG0NDQz4+PoGBgcHBwTIyMjo6Onp6ei0tLQUFBQ8PD21tbZSUlG9vb+Tk5AsLC76+vqurq5qamqCgoHd3d3x8fH5+fmdnZ8vLy+np6QEBAby8vKGhoScnJxYWFhcXF+vr64WFhSIiIpmZmWRkZNzc3HV1dVdXV8rKyiQkJB8fH5GRkebm5jk5OWtra+rq6i8vL0pKShEREZiYmMnJyc7OzqioqGFhYURERAYGBsPDw5CQkIaGhvj4+CAgIIeHh0BAQLq6uvHx8Z2dnZeXlxQUFDMzM6Ojo0lJSWJiYjg4OFpaWlhYWHFxcYuLi6mpqY2NjSYmJhoaGufn5x4eHg4ODigoKOzs7Pf398bGxhMTE1JSUmlpacXFxRkZGaWlpa+vr09PT/Pz84yMjHl5edjY2EVFRY+Pj83NzdDQ0LCwsFlZWZubm4SEhEFBQaysrKqqqlZWVtPT039/fzs7OwICAri4uMDAwJaWljw8PAgICE1NTQMDAzAwMLe3t1FRUa6urqampk5OTktLS7+/v8fHxykpKa2trVtbW6enp+Xl5QQEBI6OjlRUVEhISPX19VxcXH19fZOTkx0dHWNjY7KysoqKiioqKhgYGAcHB0ZGRszMzFNTU8LCwhAQECwsLGZmZqSkpOjo6OLi4gkJCZycnEdHR7m5ue7u7ru7uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABuAG4AAAj/AAEIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIDdyEECypMmTKFOqXMmypcuXKTko/BCgps2bOHPq3Mmzp8+fQHV+UCggwBwDSJMqXYpURA6mUJWWgBG1qgEYJaxC3QNEK1NKAQQQDcAiIgYdERkckHiAQcRPUyKmCTvWQEQFayESGCBxAIGICBJELEA3YVG7EPFG3Nv3L8TAgwsjPHw370PGEf0CFmzQA5IlBwmLNRwA8UPFevlmdvwQckETqwLcCS35IOXElh1ihqj5MeeBkOLULEB79OTSlRer5s3aoeuBnP40C0DcoOi6yVM33nyQEfXi2HEr/9/u++CC79ZrG7x9OnfD3Q97t/5N8Hz1gtdJm3aI+vLy+M019Fx96OGnXkHs8eceQ/A5JJ9z9A1kH3j6ZecfefMdREcAVlB43H4N9afbfw4GyNCAA6EhQywe2oaceNqtxh1E+X1o4YgYQhiZcS66EBEKWUQEQgQSRQBCRCqQENETBxJUlAgKRCnllFRG2cYVVWY5ZQgZaOmlAhmE8GWWBtwwZpXJNDlQUTkc4OabcMbp5hUjyGknnANUcOeeB1QwAJ92ynAFoHJmo6ZARYES0RdHRCQBEBIBIUFEdwQRkR6HApBgiAsu1GBDDwoYIUM1uggiQyK+RyKoJi6EIqmZbv+KaqdfEOHEQZ8yFOqJoy5U6novtmfQClHUpIZbBOW60K6u9qrQrwgGq6BBZLQiiQgBaFOQsgoxq9CrvsYqLacFSRCNGgCAwIMI266qa6vfOpsQtE6OO2tBlXTwCAAedHBCuzmKumN4whJkwhhRLOFFADkALGN5NIp76kKpAjBKTWwg0ofDzM34EL1r2ktxp1u4MUQUwHAMoMcOgYyoyApVbIkZAGASgBcql8hyQy5rCnNCFSsRgB+HNGJpsu4uC29C4D4r8Y0CYcAHHqcMYRC3CXnLtLwI9SzryAhNimvS3S6NUNPzPg3jhQ9nGDGPwNoQEQkxRASBDxL5AEFEPyj/EJER4pZAwOCEF2744CH4dfjihD/gAOOQE+DAA5EvvsEKlR/+g7gwDOD556CH7nkGfopu+ucOUHD66gNQ4ADrpteQAeyi06D2Qw90qlADZGfdAGAWDFwhRLlHxHtfvz8W/NsETxtjxxB/fLvzBUHACBpjH6TBGUtMcJDWZ3PdIrATx7wgFlDU5MiRSBskxgk1rWEi+Aeh3fX05BY0TQAIPBLAEzkDgA4CkIQjkMUg9DOI/cYXrfIBbUGJqAAAGhAAJATQFngQyDX+gECz1U986YFbA6EGgAH0oA1WYAMyAmgDHuiCCL6wQwd3BisR1suBCKlYAoRQExzAIYAYSEFN/7hQhxlGr2X4u1dBWiAEM2BLbu0rSAx4IAcDNIFIBUlgQRYYwublbyAS6IEjAGCCMsAiZwzgQiIEUgUoGNFt0rNhyHB4kFQtQgCZAAAEhBAKNOYiBQIpxAjeqCPmDa9gBPFEACJAhgAYIYAvCEALtBCADRBSYIa00doGgoI5BIAZMfBeFJNFigA0QQkeuCSvhKdJRBbEAobI3kFIgAKEaJEgXDSQHF9GR4NUzFO9s6UHFQhCXXqRIcWDyPEyk7zWLC+Ox1xIMh+yTN400znPROIufdY52oGOdN4EXerCCTrXkdNzsjvnAGy3zaIILnOFSxw8C+e4eRZucvYc3OXySf+AzbUzAFB8CN3shreI6I1vfoMI4P7Zy4L8UiFYEyYNw8VQEgIzYKs8SB16kUpjHpJ6OGpbIQuCASgg4gZd/OgXQwo9OBLEBTW5lUdbCVJVYbRZBlFECtYQgAWklKYrtalIMUkQHciACj39qaksCtFgfm+YW4yQInpwg0EkdaZL3aRQWzpSgWhikCwIAC6USj6mJiSiT93ZCMYQBhwEQBYYwGpZtcogp6oSpwRpAQdmQBNjWEOuI6TrRYea0YFM4AIXIEYA6ICsgXjtZznU3VntmkWo4tJZSLgqQR7bUII8dLI3jRdCLLCAbZA1sK7c6sqOyLMkgu15q3Vpa//5hoj/MKEEEdEAICQCCA1ExAqxhIgkxLUHBBj3uMhNrnFNIQPlOhe5LKjBc6eLgBqwgLrOfUYSsKtcP4gLCAkIr3jHS97w3uAY5U3veFfQAvW6NwEtWMF705uEW8y3vBsQl48gAiQhYREiRkKSkiDCpIoKtqmh3Rors3oQCXTUs5JFSK4Qi1gT3FW0mWRwQSZRhWH4MsKyJAgWdpCCLnQhEBdWcEE6kYMdbECUm3UtAyoQgH85FMRXW9UZAqCMPOBABSkOX0FC8IoOHCIA+42xgQtCi0jMwMYQHs+GO3CBrFl2IChC6iYkQIFlPFggnDWIBjjwix2A4cNSJggVZqAKQYgh/62sLUYt3KKFDlQCsDe0TiEgUIUz3zjNA4mATVIwqlti2VkoaAQFYAxm/C2CEEUAQBxYgWbYCkQH0iDCGwIQhiB/8CBBcKsoTptnggwhAA54wQciMYs/W7ogUthYZWmYAEIEwA0MLPVAuFEGHqDClP8VyGclTCITDEKGAJAClAdiaIGgqAE76EEq7rdkgWgAAxhgwgxGIAxXs20gMw7AFgjTqFmzlhoBcEUasKGHHyo5mgKRQh4q/e2BOKEDNaFANTxNzIII7SZxebdKwQ0JZ9CbpQSxQBEEsTd+R7UgpViAxBcADd8KHKhKrLfOWFtDeD8Q0BuXbcdJI4eITOESEWKZwAsk8gJGN6QITIgIL8RFiQLY/OY4z7nNAxEMnfsc5yqgwc+HXgAaqIDoPt/FBpCucz5kiiZBibrUp071qQ8lISOBida3zvWuc10mIQm72MdO9rKb/exoT7va1872tgMgIAA7\"},{\"partUri\":\"/media/image2.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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\"}]}"}],"term":"tag:\"mosaic\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"mosaic\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"mosaic\"","","\"","mosaic","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007faf5a21cbc0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007faf5a21cb20\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007faf5a21bb80\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007faf5a200290\u003e":1,"#\u003cMathWorks::Search::Field:0x00007faf5a21fc80\u003e":50,"#\u003cMathWorks::Search::Field:0x00007faf5a21fbe0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007faf5a21cda0\u003e":"tag:\"mosaic\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007faf5a21cda0\u003e":"tag:\"mosaic\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"cody-search","password":"78X075ddcV44","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"mosaic\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"mosaic\"","","\"","mosaic","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007faf5a21cbc0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007faf5a21cb20\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007faf5a21bb80\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007faf5a200290\u003e":1,"#\u003cMathWorks::Search::Field:0x00007faf5a21fc80\u003e":50,"#\u003cMathWorks::Search::Field:0x00007faf5a21fbe0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007faf5a21cda0\u003e":"tag:\"mosaic\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007faf5a21cda0\u003e":"tag:\"mosaic\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":3042,"difficulty_rating":"easy-medium"},{"id":3043,"difficulty_rating":"medium"}]}}