Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int testaSudoku(int mat[9][9]);
  4.  
  5. int main(){
  6.  
  7. int n, i, h, s,sudoku[9][9];
  8.  
  9. scanf("%d", &n);
  10.  
  11. for(s=1;s<=n;s++){
  12. for(i=0;i<9;i++){
  13. for(h=0;h<9;h++){
  14. scanf("%d", &sudoku[i][h]);
  15. }
  16. }
  17.  
  18. printf("Instancia %d\n", s);
  19. if(testaSudoku(sudoku)!=0) printf("NAO\n\n");
  20. else printf("SIM\n\n");
  21.  
  22. }
  23. return 0;
  24. }
  25.  
  26. int testaSudoku(int sudoku[9][9]){
  27. int i, h, j, k, aux = 0;
  28. for(i=0;i<9;i++){
  29. for(h=0;h<9;h++){
  30. for(j=0;j<9;j++){
  31. if (h==j) break;
  32. if (sudoku[i][h]==sudoku[i][j]) return 1;
  33. }
  34. }
  35. }
  36. for(i=0;i<9;i++){
  37. for(h=0;h<9;h++){
  38. for(j=0;j<9;j++){
  39. if (h==j) break;
  40. if (sudoku[h][i]==sudoku[j][i]) return 1;
  41. }
  42. }
  43. }
  44. for(i=0;i<3;i++){
  45. for(h=3*i;h<3+3*i;h++){
  46. for(j=0;j<3;j++)
  47. for(k=3*i;k<3+3*i;k++){
  48. if (i==j && h==k)break;
  49. if (sudoku[i][h]==sudoku[j][k])return 1;}}}
  50. for(i=3;i<6;i++){
  51. for(h=3*(i-3);h<3+3*(i-3);h++){
  52. for(j=3;j<6;j++)
  53. for(k=3*(i-3);k<3+3*(i-3);k++){
  54. if(i==j&&h==k)break;
  55. if(sudoku[i][h]==sudoku[j][k])return 1;}}}
  56. for(i=6;i<9;i++){
  57. for(h=3*(i-6);h<3+3*(i-6);h++){
  58. for(j=6;j<9;j++)
  59. for(k=3*(i-6);k<3+3*(i-6);k++){
  60. if(i==j&&h==k)break;
  61. if(sudoku[i][h]==sudoku[j][k])return 1;}}}
  62. system("PAUSE");
  63. return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement