Advertisement
Guest User

Untitled

a guest
Jul 17th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. bool SudokuGui::check(std::array<std::array<Cell, 9>, 9>& matrix)
  2. {
  3.   int i_ = 0;
  4.   for (auto i : matrix)
  5.   {
  6.     int j_ = 0;
  7.     //#pragma omp parallel for
  8.     for (auto j : i)
  9.     {
  10.       if (j.known)
  11.       {
  12.         int i1_ = 0;
  13.         for (auto i1 : matrix)
  14.         {
  15.           if ((i1_ != i_) && (i1[j_].value == j.value))
  16.           {
  17.             return false;
  18.           }
  19.           i1_++;
  20.         }
  21.         int j1_ = 0;
  22.         for (auto j1 : matrix[i_])
  23.         {
  24.           if ((j1_ != j_) && (j1.value == j.value))
  25.           {
  26.             return false;
  27.           }
  28.           j1_++;
  29.         }
  30.         for (int i1 = 3 * (i_ / 3); i1 < 3 * (i_ / 3) + 3; i1++)
  31.         {
  32.           for (int j1 = 3 * (j_ / 3); j1 < 3 * (j_ / 3) + 3; j1++)
  33.           {
  34.             if ((i1 != i_) && (j1 != j_) && (matrix[i1][j1].value == matrix[i_][j_].value))
  35.             {
  36.               return false;
  37.             }
  38.           }
  39.         }
  40.       }
  41.       j_++;
  42.     }
  43.     i_++;
  44.   }
  45.   return true;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement