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.
Nan or -1 (test 5) for non clue cells ?
Thanks for the catch. I've updated that test case.
Now, the biggie. Implement a solver for advanced FAP. I never managed to create one that worked on all problems.
I was working on it last night, but it's tabled for now. I can't quite figure out how to solve the advanced logic portion that propagates along adjacent clues (including diagonal) to solve cells outside of that clue's reach.
Good problem but too difficult for a first contact. Maybe a first basic problem with small boards and/or clear cues (0/9). And after only, a more difficult one.
If anyone is interested more in these games, I've made quite a few of them on Sporcle.com. for the first of four Fill-a-pix (aka, mosaic logic puzzle) playlists.
1444 Solvers
Project Euler: Problem 10, Sum of Primes
567 Solvers
Get the length of a given vector
1666 Solvers
715 Solvers
76 Solvers