1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C语言检测数独是否合法 判断数独是否合法

C语言检测数独是否合法 判断数独是否合法

时间:2019-12-05 17:27:44

相关推荐

C语言检测数独是否合法 判断数独是否合法

请判定一个数独是否有效。

该数独可能只填充了部分数字,其中缺少的数字用 . 表示。

注意事项

一个合法的数独(仅部分填充)并不一定是可解的。我们仅需使填充的空格有效即可。

您在真实的面试中是否遇到过这个题? Yes

说明

什么是 数独?

.au/TheRules.aspx

/subview/961/10842669.htm

class Solution {

public:

/**

* @param board: the board

* @return: wether the Sudoku is valid

*/

bool isValidSudoku(const vector>& board) {

for(int i = 0;i < 9;i++) {

for(int j = 0;j < 9;j++) {

int cur = board[i][j];

if (cur == '.') {

continue;

}

for(int k=0;k<9;k++) {

int temp = board[i][k];

if(temp == cur && k != j) {

return false;

}

}

for(int k=0;k<9;k++) {

int temp = board[k][j];

if(temp == cur && k != i) {

return false;

}

}

int n = i/3;

int m = j/3;

for(int p = n * 3;p < n * 3 + 3;p++) {

if (p == i ) {

continue;

}

for(int q = m * 3;q < m * 3 + 3;q++) {

if ( q == j) {

continue;

}

if(board[p][q] == cur && p != i && q != j) {

return false;

}

}

}

}

}

return true;

}

};

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。