This is used internally to handle clues in a row or in a column.
creates an object.
sets an array of the length of clues in a row/column.
initializes the positions of clues. Actually this may fix them when there're no free cells, as this tries to put blocks so as not to cross each other.
returns a stringified form of the line for the clues.
similar to above but returns more detailed information of the blocks of the clues.
returns if each block in the line is fixed or not.
dies if any of the blocks in the line can not have enough spaces (while brute-forcing, or when the puzzle is broken).
tells each block in the line that the given id (cell) should belong to one of the blocks.
tells each block in the line that the given id (cell) should not belong to one of the blocks.
returns if the given id (cell) belongs to a block or not.
returns if the given id (cell) can belong to a block or not.
sees through the line and turns on/off the cells it can surely tell.
returns all the possible patterns of the line.
returns a clue id.
returns all the blocks in the clues.
returns how many cells are there in a row/column for the clues.
returns a row/column for the clues.
returns a block of the given (block) id.
Kenichi Ishigaki, <ishigaki at cpan.org>
Copyright 2007 by Kenichi Ishigaki
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.