Valid Soduku

 1 bool isValidSudoku(vector<vector<char> > &board) {
 2         // Start typing your C/C++ solution below
 3         // DO NOT write int main() function
 4         vector<vector<bool> > rows(9, vector<bool>(9, false));
 5         vector<vector<bool> > cols(9, vector<bool>(9, false));
 6         vector<vector<bool> > blocks(9, vector<bool>(9, false));
 7 
 8         for (int i = 0; i < 9; ++i) {
 9             for (int j = 0; j < 9; ++j) {
10                 if (board[i][j] == '.') continue;
11                 int c = board[i][j] - '1';
12                 if (rows[i][c] || cols[j][c] || blocks[i - i % 3 + j / 3][c])
13                     return false;
14                 rows[i][c] = cols[j][c] = blocks[i - i % 3 + j / 3][c] = true;
15             }
16         }
17         return true;
18     }

 

posted on 2013-07-03 21:22  jumping_grass  阅读(177)  评论(0)    收藏  举报

导航