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.
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.)
Constructors
Static methods
int | | Calculates what the Skyscraper clue would be for a given row of numbers. |
int | |
Converts a convenient coordinate notation into a puzzle-grid index. |
IEnumerable<int> | |
Converts a convenient coordinate notation into puzzle-grid indices. |
Instance methods
Instance properties
int[] | | The group of cells affected by this constraint, or null if it affects all of them. |
bool | | Override; see base. |
int | | The number of skyscrapers visible. |
int?[][] | | The set of combinations allowed for the specified set of cells. |
int? | | Override; see base. |