Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. #include <iostream>
  2. #include <set>
  3.  
  4. int main()
  5. {
  6. using namespace std;
  7. bool correct = true;
  8. int table[9][9];
  9. // Reading table
  10. for (unsigned int i = 0; i < 9; i++)
  11. {
  12. for (unsigned int j = 0; j < 9; j++)
  13. {
  14. cin >> table[i][j];
  15. }
  16. }
  17. // Check nine 3x3 box
  18. // Just add each digit of box in set, then if set size == 9 => OK
  19. for (unsigned int i = 0; i < 9; i += 3)
  20. {
  21. for (unsigned int j = 0; j < 9; j += 3)
  22. {
  23. set<int> box;
  24. box.insert(table[i][j]);
  25. box.insert(table[i + 1][j]);
  26. box.insert(table[i + 2][j]);
  27.  
  28. box.insert(table[i][j + 1]);
  29. box.insert(table[i + 1][j + 1]);
  30. box.insert(table[i + 2][j + 1]);
  31.  
  32. box.insert(table[i][j + 2]);
  33. box.insert(table[i + 1][j + 2]);
  34. box.insert(table[i + 2][j + 2]);
  35. if (box.size() != 9)
  36. {
  37. correct = false;
  38. }
  39. }
  40. }
  41. // Check line
  42. for (unsigned int i = 0; i < 9; i++)
  43. {
  44. set<int> line;
  45. line.insert(table[i][0]);
  46. line.insert(table[i][1]);
  47. line.insert(table[i][2]);
  48. line.insert(table[i][3]);
  49. line.insert(table[i][4]);
  50. line.insert(table[i][5]);
  51. line.insert(table[i][6]);
  52. line.insert(table[i][7]);
  53. line.insert(table[i][8]);
  54. if (line.size() != 9)
  55. {
  56. correct = false;
  57. }
  58. }
  59. // Check column
  60. for (unsigned int i = 0; i < 9; i++)
  61. {
  62. set<int> column;
  63. column.insert(table[0][i]);
  64. column.insert(table[1][i]);
  65. column.insert(table[2][i]);
  66. column.insert(table[3][i]);
  67. column.insert(table[4][i]);
  68. column.insert(table[5][i]);
  69. column.insert(table[6][i]);
  70. column.insert(table[7][i]);
  71. column.insert(table[8][i]);
  72. if (column.size() != 9)
  73. {
  74. correct = false;
  75. }
  76. }
  77. if (correct)
  78. {
  79. cout << "Yes" << endl;
  80. }
  81. else
  82. {
  83. cout << "No" << endl;
  84. }
  85. return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement