bool isValidSudoku(vector<vector<char>>& board) {
vector<unordered_map<char,int>> rows(9),cols(9),boxs(9);
for(int i=0;i<9;++i){
for(int j=0;j<9;++j){
char c = board[i][j];
int index = (i/3)*3+j/3;//所在宫的序号
if(c != '.'){
if(rows[i].count(c) || cols[j].count(c) || boxs[index].count(c))
return false;
rows[i][c]=1;
cols[j][c]=1;
boxs[index][c]=1;
}
}
}
return true;
}