Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.10 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define endl '\n'
  4. #define ll long long
  5. int a[3][3];
  6. int suma()
  7. {
  8. for(int i=0;i<3;i++)
  9. {
  10. if(a[i][0]!=0 && a[i][1]!=0 && a[i][2]!=0)
  11. {
  12. return a[i][0]+a[i][1]+a[i][2];
  13. }
  14. if(a[0][i]!=0 && a[1][i]!=0 && a[2][i]!=0)
  15. {
  16. return a[0][i]+a[1][i]+a[2][i];
  17. }
  18. }
  19. if(a[0][0]!=0 && a[1][1]!=0 && a[2][2]!=0)
  20. {
  21. return a[0][0]+a[1][1]+a[2][2];
  22. }
  23. else
  24. return a[2][0]+a[1][1]+a[0][2];
  25. }
  26. bool square()
  27. {
  28. int sum=suma();
  29. for(int i=0;i<3;i++)
  30. {
  31. if(a[i][0] + a[i][1] + a[i][2]!=sum)
  32. {
  33. return false;
  34. }
  35. if((a[0][i] + a[1][i] + a[2][i])!=sum)
  36. {
  37. return false;
  38. }
  39. }
  40. if((a[0][0] + a[1][1] + a[2][2])!=sum)
  41. {
  42. return false;
  43. }
  44. if(a[0][2] + a[1][1] + a[2][0]!=sum)
  45. {
  46. return false;
  47. }
  48. return true;
  49. }
  50. int main()
  51. {
  52. ios_base::sync_with_stdio(false);
  53. freopen("input.test992","r",stdin);
  54. freopen("output.test992","w",stdout);
  55. cin.tie(0);
  56. for(int i=0;i<3;i++)
  57. {
  58. for(int j=0;j<3;j++)
  59. {
  60. cin >> a[i][j];
  61. }
  62. }
  63. if((a[0][0]==0 && a[1][1]==0 && a[2][2]==0) || (a[0][2]==0 && a[1][1]==0 && a[2][0]==0))
  64. {
  65. bool test=false;
  66. if(a[0][2]==0)
  67. {
  68. for(int i=0;i<3;i++)
  69. {
  70. swap(a[i][0],a[i][2]);
  71. }
  72. test=true;
  73. }
  74. for(int i=1;i<=20000;i++)
  75. {
  76. a[0][0]=i;
  77. a[1][1]=(a[0][0]+a[0][1]+a[0][2])-(a[1][0]+a[1][2]);
  78. a[2][2]=(a[0][0]+a[0][1]+a[0][2])-(a[2][0]+a[2][1]);
  79. if(square())
  80. {
  81. break;
  82. }
  83. }
  84. if(test)
  85. {
  86. for(int i=0;i<3;i++)
  87. {
  88. swap(a[i][0],a[i][2]);
  89. }
  90. }
  91. }
  92. else
  93. {
  94. int sum=suma();
  95. for(int i=0;i<3;i++)
  96. {
  97. if(a[i][0]==0 && a[i][1]!=0 && a[i][2]!=0)
  98. {
  99. a[i][0]=sum-(a[i][1]+a[i][2]);
  100. }
  101. else if(a[i][0]!=0 && a[i][1]==0 && a[i][2]!=0)
  102. {
  103. a[i][1]=sum-(a[i][0]+a[i][2]);
  104. }
  105. else if(a[i][0]!=0 && a[i][1]!=0 && a[i][2]==0)
  106. {
  107. a[i][2]=sum-(a[i][0]+a[i][1]);
  108. }
  109. }
  110. for(int i=0;i<3;i++)
  111. {
  112. if(a[0][i]==0 && a[1][i]!=0 && a[2][i]!=0)
  113. {
  114. a[0][i]=sum-(a[1][i]+a[2][i]);
  115. }
  116. else if(a[0][i]!=0 && a[1][i]==0 && a[2][i]!=0)
  117. {
  118. a[1][i]=sum-(a[0][i]+a[2][i]);
  119. }
  120. else if(a[0][i]!=0 && a[1][i]!=0 && a[2][i]==0)
  121. {
  122. a[2][i]=sum-(a[0][i]+a[1][i]);
  123. }
  124. }
  125. }
  126. for(int i=0;i<3;i++)
  127. {
  128. for(int j=0;j<3;j++)
  129. {
  130. cout << a[i][j] << " ";
  131. }
  132. cout << endl;
  133. }
  134. return 0;
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement