Advertisement
Guest User

magics

a guest
Dec 1st, 2015
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. int main() {
  6. int n;
  7. while (cin >> n) {
  8. bool magic = true;
  9. int suma = 0;
  10. int diag = 0;
  11. int diag2 = 0;
  12. vector< vector<int> > C(n, vector<int>(n));
  13. vector<bool> aparicio(n*n, false);
  14. vector<int> sumcol(n, 0);
  15. for (int i = 0; i < n; ++i) {
  16. int sumfil = 0;
  17. for (int j = 0; j < n; ++j) {
  18. cin >> C[i][j];
  19. if (aparicio[C[i][j]-1]) magic = false;
  20. else aparicio[C[i][j]-1] = true;
  21. sumfil = sumfil + C[i][j];
  22. sumcol[j] = sumcol[j] + C[i][j];
  23. if (i == 0) suma = suma + C[0][j];
  24. if (i == j) diag = diag + C[i][i];
  25. if (j == n-1-i) diag2 = diag2 + C[i][n-1-i];
  26. }
  27. if (sumfil != suma) magic = false;
  28. }
  29. if (diag != suma) magic = false;
  30. if (diag2 != suma) magic = false;
  31. int k = 0;
  32. while (k < n and magic) {
  33. if (sumcol[k] != suma) magic = false;
  34. ++k;
  35. }
  36. if (magic) cout << "si" << endl;
  37. if (not magic) cout << "no" << endl;
  38. }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement