#define SUDOKU_H
#include <vector>
+#include <string>
extern int verbose;
~sudoku();
void print(void);
+ void print_compact(void);
int set(const int col, const int row, const char num);
char get(const int col, const int row);
int str_to_row(const int row, const std::string &str);
std::string get_legal_numbers(const int col, const int row);
- sudoku solve(int &solvable);
- std::vector<sudoku> solve_all();
+ std::vector<sudoku> solve_all(void);
+ int generate(int min_guesses);
int recursion_depth;
int guesses;
std::string get_row_contents(const int row);
std::string get_col_contents(const int col);
std::string get_block_contents(const int col, const int row);
- int fill_missing();
- void clone_to(sudoku &to);
+ int fill_missing(void);
int get_best_guess(int &col, int &row);
+ sudoku fill_with_random(int &solvable);
+ sudoku remove_randomly(int min_guesses, int depth);
+ sudoku remove_randomly_parallel(int min_guesses, int depth);
+ int used_numbers();
char table[9][9];
};