Validate Sudoku
bool validateSudoku(int a[][9]) { int sum=0,product=1; // Check Rows for(int i=0; i<9; i++) { { sum=0,product=1; for(int j=0; j<9; j++) { sum|=1<<(a[i][j]-1); product*=a[i][j]; } if(sum!=511 && product!=362880) return false; } } // Check Column for(int i=0; i<9; i++) { sum=0,product=1; for(int j=0; j<9; j++) { sum|=1<<(a[j][i]-1); product*=a[j][i]; } if(sum!=511 && product!=362880) return false; } // Check grid for(int row=0; row<9; row+=3) { for(int col=0; col<9; col+=3) { sum=0,product=1; for(int i=row; i<row+3; i++) { for(int j=col; j<col+3; j++) { for(int j=col; j<col+3; j++) { sum|=1<<(a[i][j]-1); product*=a[i][j]; } } if(sum!=511 && product!=362880) return false; } } } return true; }
No comments yet.
Leave a comment