Summary
Describes a “skyscraper” 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 how many skyscrapers are 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. |