Generated on Thu Apr 11 13:59:40 2019 for Gecode by doxygen 1.6.3

Sudoku Class Reference
[Example scripts (models)]

Base class for Sudoku puzzles. More...

List of all members.

Public Types

enum  { MODEL_INT, MODEL_SET, MODEL_MIXED }
 

Model variants.

More...
enum  {
  BRANCH_NONE, BRANCH_SIZE, BRANCH_SIZE_DEGREE, BRANCH_SIZE_AFC,
  BRANCH_AFC
}

Public Member Functions

 Sudoku (const SizeOptions &opt)
 Constructor.
 Sudoku (Sudoku &s)
 Constructor for cloning s.
 Sudoku (const SizeOptions &opt)
 Constructor.
 Sudoku (Sudoku &s)
 Constructor for cloning s.
virtual Spacecopy (void)
 Perform copying during cloning.
virtual void print (std::ostream &os) const
 Print solution.

Protected Attributes

const int n
 The size of the problem.
IntVarArray x
 Values for the fields.

Sudoku specifications

Each specification gives the initial positions that are filled in, with blank squares represented as zeroes.



const char * examples []
 The specifications.
const unsigned int n_examples = sizeof(examples)/sizeof(char*)
 The number of instances.
int example_size (const char *s)
 The size of an instance.
int sudokuField (const char *s, int n, int i, int j)
 Return value at position (i,j) in the example s of size n.

Detailed Description

Base class for Sudoku puzzles.

Example: Solving Sudoku puzzles using integer constraints

Definition at line 55 of file sudoku-advanced.cpp.


Member Enumeration Documentation

anonymous enum

Model variants.

Enumerator:
MODEL_INT 

Use integer constraints.

MODEL_SET 

Use set constraints.

MODEL_MIXED 

Use both integer and set constraints.

Definition at line 60 of file sudoku-advanced.cpp.

anonymous enum
Enumerator:
BRANCH_NONE 

Use lexicographic ordering.

BRANCH_SIZE 

Use minimum size.

BRANCH_SIZE_DEGREE 

Use minimum size over degree.

BRANCH_SIZE_AFC 

Use minimum size over afc.

BRANCH_AFC 

Use maximum afc.

Definition at line 67 of file sudoku-advanced.cpp.


Constructor & Destructor Documentation

Sudoku::Sudoku ( const SizeOptions opt  )  [inline]

Constructor.

Definition at line 76 of file sudoku-advanced.cpp.

Sudoku::Sudoku ( Sudoku s  )  [inline]

Constructor for cloning s.

Definition at line 81 of file sudoku-advanced.cpp.

Sudoku::Sudoku ( const SizeOptions opt  )  [inline]

Constructor.

Definition at line 64 of file sudoku.cpp.

Sudoku::Sudoku ( Sudoku s  )  [inline]

Constructor for cloning s.

Definition at line 95 of file sudoku.cpp.


Member Function Documentation

virtual Space* Sudoku::copy ( void   )  [inline, virtual]

Perform copying during cloning.

Reimplemented in SudokuInt, SudokuSet, and SudokuMixed.

Definition at line 101 of file sudoku.cpp.

virtual void Sudoku::print ( std::ostream &  os  )  const [inline, virtual]

Print solution.

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

Reimplemented in SudokuInt, SudokuSet, and SudokuMixed.

Definition at line 107 of file sudoku.cpp.


Friends And Related Function Documentation

const char* examples[] [related]

The specifications.

Definition at line 54 of file sudoku-instances.hh.

const unsigned int n_examples = sizeof(examples)/sizeof(char*) [related]

The number of instances.

Definition at line 1849 of file sudoku-instances.hh.

int example_size ( const char *  s  )  [related]

The size of an instance.

Definition at line 1852 of file sudoku-instances.hh.

int sudokuField ( const char *  s,
int  n,
int  i,
int  j 
) [related]

Return value at position (i,j) in the example s of size n.

Definition at line 1860 of file sudoku-instances.hh.


Member Data Documentation

const int Sudoku::n [protected]

The size of the problem.

Definition at line 56 of file sudoku-advanced.cpp.

IntVarArray Sudoku::x [protected]

Values for the fields.

Reimplemented in SudokuInt.

Definition at line 60 of file sudoku.cpp.


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