Legend

Class
Struct
Enum
Interface
Delegate
Constructor
Method
Property
Event
Field

Constructor: SkyscraperSumUniquenessConstraint(int, IEnumerable<int>, int, int)

Declaration

public SkyscraperSumUniquenessConstraint(
    int clue,
    IEnumerable<int> affectedCells,
    int minValue = 1,
    int maxValue = 9
)

Summary

Describes a “skyscraper sum” constraint: the numbers in the grid represent the height of a skyscraper; taller skyscrapers obscure the view of smaller ones behind them; and the clue specifies the sum of the sizes of the skyscrapers visible from the direction of the clue. This constraint implies a uniqueness constraint.

Parameters

intclue The number of skyscrapers visible.
IEnumerable<int>affectedCells The set of cells affected by this constraint. This is usually a row or column in a grid, but it can be any subset of grid points.
intminValue The minimum value of numbers in the grid for this puzzle.
intmaxValue The maximum value of numbers in the grid for this puzzle.

Remarks

Warning: This constraint is very memory-intensive. It is implemented as a CombinationsConstraint with all of the possible number combinations for the specified set of cells. Avoid using this on oversized puzzles. (At time of writing, this is only feasible for up to 11 cells, which uses about 2 GB of RAM for each constraint.)