Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool SudokuGui::check(std::array<std::array<Cell, 9>, 9>& matrix)
- {
- int i_ = 0;
- for (auto i : matrix)
- {
- int j_ = 0;
- //#pragma omp parallel for
- for (auto j : i)
- {
- if (j.known)
- {
- int i1_ = 0;
- for (auto i1 : matrix)
- {
- if ((i1_ != i_) && (i1[j_].value == j.value))
- {
- return false;
- }
- i1_++;
- }
- int j1_ = 0;
- for (auto j1 : matrix[i_])
- {
- if ((j1_ != j_) && (j1.value == j.value))
- {
- return false;
- }
- j1_++;
- }
- for (int i1 = 3 * (i_ / 3); i1 < 3 * (i_ / 3) + 3; i1++)
- {
- for (int j1 = 3 * (j_ / 3); j1 < 3 * (j_ / 3) + 3; j1++)
- {
- if ((i1 != i_) && (j1 != j_) && (matrix[i1][j1].value == matrix[i_][j_].value))
- {
- return false;
- }
- }
- }
- }
- j_++;
- }
- i_++;
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement