Problem 3043. Fill-a-pix - Solver (basic)
Fill-a-pix 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).
Based 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.


This problem deals with basic-logic Fill-a-pix problems; a sample step-by-step solution is found here. 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.
For 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).
A related problem is Fill-a-pix - Solution Checker.
Solution Stats
Problem Comments
-
9 Comments
I wouldn't call this problem basic since it is very similar to solving a nonogram, which is np-hard, but it is possible to solve this problem in this current instance with logical thinking only. With more complex boards of this game, it is not enough because it would have more than one possible solution or no solution.
@Rafael S.T. Vieira: while you are correct (along with Jean-Marie) in stating that the problem is not easy, the "basic" indicates, as you rightly mention, that simple logic applied to surrounding cells is all that is needed to solve this sort of puzzle. Of course, there are more complex boards wherein the "basic" logic is insufficient to completely solve them.
It appears that the link I supplied earlier was lost. Here it is again:
https://www.sporcle.com/playlists/goc3/mosaic-logic-puzzles
Solution Comments
Show commentsGroup

Board Games II
- 14 Problems
- 10 Finishers
- High Precision Square Root (Inspired by Project Euler 80)
- Damping of Servomotors with Tachometer Feedback
- Find the right number make the equation
- Deriving a function using the difference quotient
- Fast 1-D Convolution (full shape)
- Fast 1-D Convolution (same shape)
- Fast 1-D Convolution (valid shape)
- Lambert's W
- First use of arrayfun() and anonymous function @(x)
- Cell Operator *
- Product of two multivariate polynomials
- Multivariate polynomials - convert monomial form to array
- Multivariate polynomials - overload multiplication
- Multivariate polynomials - emulate symbolic form
- Rewrite setdiff to account for non-unique values
Problem Recent Solvers9
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!