Expand description
A library for solving Takuzu (a.k.a. Binairo) number puzzles.
§About
Takuzu is a number puzzle, sometimes called binary sudoku.
The objective is to fill a grid with 0
s and 1
s while
observing the following rules:
- no more than two zeros or two ones adjacent to each other in any direction.
- each row and each column must contain an equal number of
0
s and1
s. - no two rows and no two columns are the same.
The grids are squares of even size. A valid grid must have one and only one solution. The solver will find and return all valid solutions though.
§Input format
For parsing, the grids must be represented with the following characters:
0
, 1
, .
for a missing number, and one \n
at the end of each row.
The final \n
may be omitted.
Structs§
- Ansi
Grid Diff - Displays a colored diff in ANSI terminals.
- Grid
- An opaque container for manipulating takuzu grids.
Enums§
- Cell
- An enum representing the state of a cell.
- Grid
Error - An error returned when checking if the grid is legal.
- Grid
Parse Error - An error returned when parsing a string to create a grid failed.
- Grid
Size Error - An error returned when the grid is not properly sized.