Sudoku Class Reference
[Example scripts (models)]
Base class for Sudoku puzzles. More...
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 Space * | copy (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] |
The documentation for this class was generated from the following files:
- examples/sudoku-advanced.cpp
- examples/sudoku-instances.hh
- examples/sudoku.cpp