Crossword Class Reference
[Example scripts (models)]
Example: Crossword puzzle More...
Public Types | |
enum | { BRANCH_WORDS, BRANCH_LETTERS, BRANCH_LETTERS_ALL } |
Branching to use for model. More... | |
Public Member Functions | |
Crossword (const SizeOptions &opt) | |
Actual model. | |
bool | master (const CRI &cri) |
Do not perform a restart when a solution is found. | |
Crossword (bool share, Crossword &s) | |
Constructor for cloning s. | |
virtual Space * | copy (bool share) |
Copy during cloning. | |
virtual void | print (std::ostream &os) const |
Print solution. | |
Static Public Member Functions | |
static void | printletters (const Space &home, const BrancherHandle &, unsigned int a, IntVar, int i, const int &n, std::ostream &o) |
Print brancher information when branching on letters. | |
static void | printwords (const Space &, const BrancherHandle &, unsigned int a, IntVar, int i, const int &n, std::ostream &o) |
Print brancher information when branching on words. | |
Protected Attributes | |
const int | w |
Width of crossword grid. | |
const int | h |
Height of crossword grid. | |
IntVarArray | letters |
Letters for grid. |
Detailed Description
Example: Crossword puzzle
Fill crossword grids with words, that is construct a crossword puzzle. For a recent paper on this classical problem, see: Crossword Puzzles as a Constraint Problem, Anbulagan and Adi Botea, CP 2008, pages 550-554, Springer Verlag.
Note that "Modeling and Programming with Gecode" uses this example as a case study.
Definition at line 70 of file crossword.cpp.
Member Enumeration Documentation
anonymous enum |
Branching to use for model.
- Enumerator:
BRANCH_WORDS Branch on the words.
BRANCH_LETTERS Branch on the letters.
BRANCH_LETTERS_ALL Branch on the letters (try all values).
Definition at line 80 of file crossword.cpp.
Constructor & Destructor Documentation
Crossword::Crossword | ( | const SizeOptions & | opt | ) | [inline] |
Actual model.
Definition at line 86 of file crossword.cpp.
Crossword::Crossword | ( | bool | share, | |
Crossword & | s | |||
) | [inline] |
Constructor for cloning s.
Definition at line 195 of file crossword.cpp.
Member Function Documentation
static void Crossword::printletters | ( | const Space & | home, | |
const BrancherHandle & | , | |||
unsigned int | a, | |||
IntVar | , | |||
int | i, | |||
const int & | n, | |||
std::ostream & | o | |||
) | [inline, static] |
Print brancher information when branching on letters.
Definition at line 167 of file crossword.cpp.
static void Crossword::printwords | ( | const Space & | , | |
const BrancherHandle & | , | |||
unsigned int | a, | |||
IntVar | , | |||
int | i, | |||
const int & | n, | |||
std::ostream & | o | |||
) | [inline, static] |
Print brancher information when branching on words.
Definition at line 178 of file crossword.cpp.
bool Crossword::master | ( | const CRI & | cri | ) | [inline] |
Do not perform a restart when a solution is found.
Definition at line 187 of file crossword.cpp.
virtual Space* Crossword::copy | ( | bool | share | ) | [inline, virtual] |
Copy during cloning.
Definition at line 201 of file crossword.cpp.
virtual void Crossword::print | ( | std::ostream & | os | ) | const [inline, virtual] |
Print solution.
Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.
Definition at line 206 of file crossword.cpp.
Member Data Documentation
const int Crossword::w [protected] |
Width of crossword grid.
Definition at line 73 of file crossword.cpp.
const int Crossword::h [protected] |
Height of crossword grid.
Definition at line 75 of file crossword.cpp.
IntVarArray Crossword::letters [protected] |
Letters for grid.
Definition at line 77 of file crossword.cpp.
The documentation for this class was generated from the following file:
- examples/crossword.cpp (Revision: 14471)