3DM速報:《寶可夢:朱/紫》將可四人聯機 《戰神》加入PSN會免
阿新 • • 發佈:2022-06-03
#include <vector> #include <iostream> #include <string.h> using namespace std; class Solution { public: Solution(){} ~Solution(){} bool isValidSudoku(vector<vector<char>>& board) { //表示第n行第幾個數 int rol[9][9]; //表示第n列第幾個數 int row[9][9]; //表示第n個九宮格第幾個數 int group[3][3][9]; int temp; memset(rol,0,sizeof(rol)); memset(row,0,sizeof(row)); memset(group,0,sizeof(group)); for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { if(board[i][j]!='.') { //1-9數字只會出現一次,如果超過一次,則沒有效 temp=board[i][j]-'0'-1; rol[i][temp]++; row[j][temp]++; group[i/3][j/3][temp]++; if( rol[i][temp]>1||row[j][temp]>1||group[i/3][j/3][temp]>1){ return false; } } } } return true; } }; int main(){ Solution s; vector<vector<char>> board={{'5','3','.','.','7','.','.','.','.'}, {'6','.','.','1','9','5','.','.','.'}, {'.','9','8','.','.','.','.','6','.'}, {'8','.','.','.','6','.','.','.','3'}, {'4','.','.','8','.','3','.','.','1'}, {'7','.','.','.','2','.','.','.','6'}, {'.','6','.','.','.','.','2','8','.'}, {'.','.','.','4','1','9','.','.','5'}, {'.','.','.','.','8','.','.','7','9'}}; cout<<s.isValidSudoku(board); return 0; }