fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int poprawnoscKolumn (int tablica[][9])
  6. {
  7. int niepowtarzalnaKolumna = 1, suma=0, i,j;
  8.  
  9. for (j=0; j<9; j++)
  10. {
  11. for(i=0; i<9; i++)
  12. {
  13. suma+=tablica[i][j];
  14. }
  15. if (suma==45)
  16. {
  17. suma=0;
  18. }
  19. else
  20. niepowtarzalnaKolumna=0;
  21. }
  22. return niepowtarzalnaKolumna;
  23. }
  24.  
  25. int poprawnoscRzedow (int tablica[][9])
  26. {
  27. int niepowtarzalnyRzad = 1, suma=0, i,j;
  28.  
  29. for (i=0; i<9; i++)
  30. {
  31. for(j=0; j<9; j++)
  32. {
  33. suma+=tablica[i][j];
  34. }
  35. if (suma==45)
  36. {
  37. suma=0;
  38. }
  39. else
  40. niepowtarzalnyRzad=0;
  41. }
  42. return niepowtarzalnyRzad;
  43. }
  44.  
  45. int poprawnoscSubKwadratow (int tablica[][9])
  46. {
  47. int niepowtarzalnyKwadrat = 1, i,j,r,k, suma=0;
  48. for (i=0; i<9; i+=3)
  49. {
  50. for(j=0; j<9; j+=3)
  51. {
  52. for(r=i; r<i+3; r++)
  53. {
  54. for(k=j; k<j+3; k++)
  55. {
  56. suma+=tablica[r][k];
  57. }
  58. }
  59. if (suma==45)
  60. {
  61. suma=0;
  62. }
  63. else
  64. niepowtarzalnyKwadrat=0;
  65. }
  66. }
  67. return niepowtarzalnyKwadrat;
  68. }
  69.  
  70. int main()
  71. {
  72. int n;
  73. cin >> n;
  74. int board [9][9];
  75.  
  76. for (int i=0; i<n; i++)
  77. {
  78. for(int i=0; i<9; i++)
  79. {
  80. for(int j=0; j<9; j++)
  81. {
  82. cin>>board[i][j];
  83. }
  84. }
  85. if(poprawnoscKolumn(board)==1 && poprawnoscRzedow(board)==1 && poprawnoscSubKwadratow(board)==1)
  86. cout << "TAK" << endl;
  87. else
  88. cout << "NIE" << endl;
  89. }
  90. return 0;
  91. }
  92.  
Success #stdin #stdout 0s 4404KB
stdin
5
2 5 1 7 6 9 3 4 8
9 8 6 3 4 5 2 7 1
3 7 4 8 2 1 6 9 5
4 2 9 6 3 8 5 1 7
8 6 3 5 1 7 9 2 4
5 1 7 4 9 2 8 3 6
7 9 5 1 8 3 4 6 2
1 4 2 9 5 6 7 8 3
6 3 8 2 7 4 1 5 9

100 5 1 7 6 9 3 4 8
9 8 6 3 4 5 2 7 1
3 7 4 8 2 1 6 9 5
4 2 9 6 3 8 5 1 7
8 6 3 5 1 7 9 2 4
5 1 7 4 9 2 8 3 6
7 9 5 1 8 3 4 6 2
1 4 2 9 5 6 7 8 3
6 3 8 2 7 4 1 5 9

4 2 9 6 3 8 5 1 7
8 6 3 5 1 7 9 2 4
5 1 7 4 9 2 8 3 6
7 9 5 1 8 3 4 6 2
1 4 2 9 5 6 7 8 3
6 3 8 2 7 4 1 5 9
2 5 1 7 6 9 3 4 8
9 8 6 3 4 5 2 7 1
3 7 4 8 2 1 6 9 5

2 5 1 7 6 9 3 4 8
9 8 6 3 4 5 2 7 1
3 7 4 8 2 1 6 9 5
4 2 9 6 3 8 5 1 7
8 6 3 5 1 7 9 2 4
5 1 7 4 9 2 8 3 6
7 9 5 1 8 3 4 6 2
1 4 2 9 5 6 7 8 3
6 3 8 2 7 4 1 9 5

2 5 1 7 6 9 3 4 8
9 8 6 3 4 5 2 7 1
3 7 4 8 2 1 6 9 5
4 2 9 6 3 8 5 1 7
8 6 3 5 1 7 9 2 4
5 1 7 4 9 2 8 3 6
7 9 5 1 8 3 4 6 2
1 4 2 9 8 6 7 5 3
6 3 8 2 7 4 1 5 9
stdout
TAK
NIE
TAK
NIE
NIE