summaryrefslogtreecommitdiff
path: root/src/solverwindow.cc
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2012-06-06 18:25:47 +0000
committerStijn Buys <ingar@osirion.org>2012-06-06 18:25:47 +0000
commit8f93d832318dd960842940b3e688332124484f51 (patch)
tree16e42695ad1e654c1a8171044f34b91cf3d2dd26 /src/solverwindow.cc
parent6cb359845243bd69d1b06bb1407fb618f0ddae32 (diff)
Added unique solution step solver.
Diffstat (limited to 'src/solverwindow.cc')
-rw-r--r--src/solverwindow.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/solverwindow.cc b/src/solverwindow.cc
index 9bda3d5..06de5fb 100644
--- a/src/solverwindow.cc
+++ b/src/solverwindow.cc
@@ -150,4 +150,20 @@ void SolverWindow::clear()
void SolverWindow::step()
{
+ int nbSolutions = 0;
+ Sudoku sudoku;
+ solverwindow_sudokuwidget->get_values(sudoku);
+
+ Sudoku solution;
+ for (int row = 0; row < 9; row++) {
+ for (int column = 0; column < 9; column++) {
+ int i = sudoku.solve_step(row, column);
+ if ((i > 0) && (sudoku.value(row, column) == 0)) {
+ nbSolutions++;
+ }
+ solution.value(row, column) = i;
+ }
+ }
+ solverwindow_sudokuwidget->set_values(solution);
+ qDebug() << nbSolutions << " cells solved";
} \ No newline at end of file