Example: Crossword puzzle More...
Public Types | |
enum | { BRANCH_WORDS, BRANCH_LETTERS } |
Branching to use for model. More... |
Public Member Functions | |
Crossword (const SizeOptions &opt) | |
Actual model. | |
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. | |
![]() | |
ScriptBase (void) | |
Default constructor. | |
ScriptBase (bool share, ScriptBase &e) | |
Constructor used for cloning. | |
virtual void | compare (const Space &, std::ostream &os) const |
Compare with s. |
Protected Attributes | |
const int | h |
Height of crossword grid. | |
IntVarArray | letters |
Letters for grid. |
Static Protected Attributes | |
const int | w |
Width of crossword grid. |
Additional Inherited Members | |
![]() | |
template<class Script , template< class > class Engine, class Options > | |
static void | run (const Options &opt) |
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.
anonymous enum |
Branching to use for model.
Definition at line 80 of file crossword.cpp.
|
inline |
Actual model.
Definition at line 85 of file crossword.cpp.
|
inline |
Constructor for cloning s.
Definition at line 155 of file crossword.cpp.
|
inlinevirtual |
Copy during cloning.
Definition at line 161 of file crossword.cpp.
|
inlinevirtual |
Print solution.
Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.
Definition at line 166 of file crossword.cpp.
|
staticprotected |
Width of crossword grid.
Definition at line 73 of file crossword.cpp.
|
protected |
Height of crossword grid.
Definition at line 75 of file crossword.cpp.
|
protected |
Letters for grid.
Definition at line 77 of file crossword.cpp.