Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0

Example: Solitaire domino More...

Public Types

enum  { PROP_ELEMENT , PROP_EXTENSIONAL }
 Propagation to use for model. More...
 

Public Member Functions

 Domino (const SizeOptions &opt)
 Actual model.
 
virtual void print (std::ostream &os) const
 Print solution.
 
 Domino (Domino &s)
 Constructor for cloning s.
 
virtual Spacecopy (void)
 Copy space during cloning.
 
- Public Member Functions inherited from Gecode::Driver::ScriptBase< BaseSpace >
 ScriptBase (const Options &opt)
 Constructor.
 
 ScriptBase (ScriptBase &e)
 Constructor used for cloning.
 
virtual void compare (const Space &home, std::ostream &os) const
 Compare with s.
 

Related Symbols

(Note that these are not member symbols.)

const unsigned int n_examples
 Number of board specifications.
 
int main (int argc, char *argv[])
 Main-function.
 

Puzzle specifications

const int * specs []
 Board specifications.
 
const int domino0 []
 Example 0
 
const int domino1 []
 Example 1
 
const int domino2 []
 Example 2
 
const int domino3 []
 Example 3
 
const int domino4 []
 Example 4
 
const int domino5 []
 Example 5
 
const unsigned n_examples = sizeof(specs)/sizeof(int*)
 Number of specifications.
 

Additional Inherited Members

- Static Public Member Functions inherited from Gecode::Driver::ScriptBase< BaseSpace >
static std::ostream & select_ostream (const char *sn, std::ofstream &ofs)
 Choose output stream according to sn.
 
template<class Script , template< class > class Engine, class Options >
static void run (const Options &opt, Script *s=NULL)
 

Detailed Description

Example: Solitaire domino

The task is to place domino pieces on a board. Each piece covers two fields and has two numbers. There are 28 pieces, from 0-0 to 6-6. The board is set up with a number in each field that must match the number of the domino piece placed on that field.

Definition at line 68 of file domino.cpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Propagation to use for model.

Enumerator
PROP_ELEMENT 

Use element constraints.

PROP_EXTENSIONAL 

Use extensional constraints.

Definition at line 82 of file domino.cpp.

Constructor & Destructor Documentation

◆ Domino() [1/2]

Domino::Domino ( const SizeOptions & opt)
inline

Actual model.

Definition at line 88 of file domino.cpp.

◆ Domino() [2/2]

Domino::Domino ( Domino & s)
inline

Constructor for cloning s.

Definition at line 206 of file domino.cpp.

Member Function Documentation

◆ print()

virtual void Domino::print ( std::ostream & os) const
inlinevirtual

Print solution.

Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.

Definition at line 193 of file domino.cpp.

◆ copy()

virtual Space * Domino::copy ( void )
inlinevirtual

Copy space during cloning.

Definition at line 212 of file domino.cpp.

Friends And Related Symbol Documentation

◆ specs

const int * specs
related
Initial value:
=
const int domino1[]
Example 1
Definition domino.cpp:263
const int domino3[]
Example 3
Definition domino.cpp:291
const int domino0[]
Example 0
Definition domino.cpp:249
const int domino5[]
Example 5
Definition domino.cpp:319
const int domino2[]
Example 2
Definition domino.cpp:277
const int domino4[]
Example 4
Definition domino.cpp:305

Board specifications.

List of specifications.

Definition at line 48 of file domino.cpp.

◆ n_examples [1/2]

const unsigned int n_examples
related

Number of board specifications.

Definition at line 53 of file domino.cpp.

◆ domino0

const int domino0[]
related
Initial value:
=
{
8,7,
2,1,0,3,0,4,5,5,
6,2,0,6,3,1,4,0,
3,2,3,6,2,5,4,3,
5,4,5,1,1,2,1,2,
0,0,1,5,0,5,4,4,
4,6,2,1,3,6,6,1,
4,2,0,6,5,3,3,6
}

Example 0

Definition at line 249 of file domino.cpp.

◆ domino1

const int domino1[]
related
Initial value:
=
{
8,7,
5,1,2,4,6,2,0,5,
6,6,4,3,5,0,1,5,
2,0,4,0,4,0,5,0,
6,1,3,6,3,5,4,3,
3,1,0,1,2,2,1,4,
3,6,6,2,4,0,5,4,
1,3,6,1,2,3,5,2
}

Example 1

Definition at line 263 of file domino.cpp.

◆ domino2

const int domino2[]
related
Initial value:
=
{
8,7,
4,4,5,4,0,3,6,5,
1,6,0,1,5,3,4,1,
2,6,2,2,5,3,6,0,
1,3,0,6,4,4,2,3,
3,5,5,2,4,2,2,1,
2,1,3,3,5,6,6,1,
5,1,6,0,0,0,4,0
}

Example 2

Definition at line 277 of file domino.cpp.

◆ domino3

const int domino3[]
related
Initial value:
=
{
8,7,
3,0,2,3,3,4,4,3,
6,5,3,4,2,0,2,1,
6,5,1,2,3,0,2,0,
4,5,4,1,6,6,2,5,
4,3,6,1,0,4,5,5,
1,3,2,5,6,0,0,1,
0,5,4,6,2,1,6,1
}

Example 3

Definition at line 291 of file domino.cpp.

◆ domino4

const int domino4[]
related
Initial value:
=
{
8,7,
4,1,5,2,4,4,6,2,
2,5,6,1,4,6,0,2,
6,5,1,1,0,1,4,3,
6,2,1,1,3,2,0,6,
3,6,3,3,5,5,0,5,
3,0,1,0,0,5,4,3,
3,2,4,5,4,2,6,0
}

Example 4

Definition at line 305 of file domino.cpp.

◆ domino5

const int domino5[]
related
Initial value:
=
{
8,7,
4,1,2,1,0,2,4,4,
5,5,6,6,0,4,6,3,
6,0,5,1,1,0,5,3,
3,4,2,2,0,3,1,2,
3,6,5,6,1,2,3,2,
2,5,0,6,6,3,3,5,
4,1,0,0,4,1,4,5
}

Example 5

Definition at line 319 of file domino.cpp.

◆ n_examples [2/2]

const unsigned n_examples = sizeof(specs)/sizeof(int*)
related

Number of specifications.

Definition at line 336 of file domino.cpp.

◆ main()

int main ( int argc,
char * argv[] )
related

Main-function.

Definition at line 223 of file domino.cpp.


The documentation for this class was generated from the following file: