is_solvable: Is a given Lights Out board solvable?

Description Usage Arguments Value See Also Examples

View source: R/solve.R

Description

Not every Lights Out configuration has a solution (this has been mathematically proven). This function determines whether a given board has a solution or not.

Usage

1
is_solvable(board)

Arguments

board

A lightsout board

Value

TRUE if the given board has a solution; FALSE otherwise.

See Also

is_solved solve_board

Examples

1
2
3
4
5
6
7
8
9
# The following board is solvable using the classic mode (only adjacent lights
# are toggled), but has no solution in the variant mode.
lights <- c(1, 1, 0,
            1, 0, 0,
            0, 0, 0 )
board_classic <- new_board(lights)
board_variant <- new_board(lights, classic = FALSE)
is_solvable(board_classic)
is_solvable(board_variant)

Example output

[1] TRUE
[1] FALSE

lightsout documentation built on May 2, 2019, 1:10 p.m.