Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
658 B
0
Indexable
Never
def _how_many_solutions_helper(picture: Picture, constraints_set: Set[
    Constraint], n: int, m: int, index: int, counter=1) -> \
        int:

    if index == n * m:
        return counter
        
    row, col = divmod(index, m)  # define the row and column for a run.

    counter = _how_many_solutions_helper(picture, constraints_set, n, m, index + 1, counter)   
    picture[row][col] = 1 - picture[row][col]

    counter += bool(check_constraints(picture, constraints_set))

    counter = _how_many_solutions_helper(picture, constraints_set, n, m, index + 1, counter)
    picture[row][col] = 1 - picture[row][col]

    return counter