Learn R Programming

lightsout (version 0.3.2)

is_solvable: Is a given Lights Out board solvable?

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

is_solvable(board)

Value

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

Arguments

board

A lightsout board

See Also

is_solved solve_board

Examples

Run this code
# 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)

Run the code above in your browser using DataLab