#include #include "sudoku.h" #include "debug.h" int main(int argc, char *argv[]) { int row, i; std::string line; sudoku sudo; std::vector results; if (argc > 1) { if ((std::string)argv[1] == "-q") verbose = 0; } for (row = 0; row < 9; row++) { std::getline(std::cin, line, '\n'); if(sudo.str_to_row(row, line)) { std::cout << "Error reading line " << row << std::endl; return 1; } } std::cout << "Done parsing.\n"; // int solved; // sudo = sudo.solve(solved); sudo.print(); std::cout << "Solving this sudoku.\n\n"; results = sudo.solve_all(); std::cout << "Found " << results.size() << " solutions\n"; for (i = 0; i < (int)results.size(); i++) { std::cout << "\nSolution " << i + 1 << ", iteration depth: " << results.at(i).recursion_depth << std::endl; results.at(i).print(); } std::cout << "Had to guess " << sudo.guesses << " times while solving this sudoku\n"; return 0; }