Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int testaSudoku(int mat[9][9]);
- int main(){
- int n, i, h, s,sudoku[9][9];
- scanf("%d", &n);
- for(s=1;s<=n;s++){
- for(i=0;i<9;i++){
- for(h=0;h<9;h++){
- scanf("%d", &sudoku[i][h]);
- }
- }
- printf("Instancia %d\n", s);
- if(testaSudoku(sudoku)!=0) printf("NAO\n\n");
- else printf("SIM\n\n");
- }
- return 0;
- }
- int testaSudoku(int sudoku[9][9]){
- int i, h, j, k, aux = 0;
- for(i=0;i<9;i++){
- for(h=0;h<9;h++){
- for(j=0;j<9;j++){
- if (h==j) break;
- if (sudoku[i][h]==sudoku[i][j]) return 1;
- }
- }
- }
- for(i=0;i<9;i++){
- for(h=0;h<9;h++){
- for(j=0;j<9;j++){
- if (h==j) break;
- if (sudoku[h][i]==sudoku[j][i]) return 1;
- }
- }
- }
- for(i=0;i<3;i++){
- for(h=3*i;h<3+3*i;h++){
- for(j=0;j<3;j++)
- for(k=3*i;k<3+3*i;k++){
- if (i==j && h==k)break;
- if (sudoku[i][h]==sudoku[j][k])return 1;}}}
- for(i=3;i<6;i++){
- for(h=3*(i-3);h<3+3*(i-3);h++){
- for(j=3;j<6;j++)
- for(k=3*(i-3);k<3+3*(i-3);k++){
- if(i==j&&h==k)break;
- if(sudoku[i][h]==sudoku[j][k])return 1;}}}
- for(i=6;i<9;i++){
- for(h=3*(i-6);h<3+3*(i-6);h++){
- for(j=6;j<9;j++)
- for(k=3*(i-6);k<3+3*(i-6);k++){
- if(i==j&&h==k)break;
- if(sudoku[i][h]==sudoku[j][k])return 1;}}}
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement