Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. bool magic(const int* in, const int n)
  4. {
  5. int i, j, res[4]={0};
  6. for(i=0;i<n;i++)
  7.        for(j=0;j<n;j++)
  8.            res[0]+=in[i*n+j];
  9.    for(j=0;j<n;j++)
  10.        for(i=0;i<n;i++)
  11.            res[1]+=in[i*n+j];
  12.    if(res[1]!=res[0])
  13.        return false;
  14.    res[0]/=n;
  15. res[1]/=n;
  16.     for(i=0;i<n;i++)
  17.        res[2]+=in[i*n+i];
  18.    if(res[2]!=res[1])
  19.        return false;
  20.    for(i=0;i<n;i++)
  21.        res[3]+=in[i*n+(n-i-1)];
  22.    if(res[3]!=res[2])
  23.        return false;
  24.  
  25.    return true;
  26. }
  27.  
  28. int main()
  29.  
  30. { int *vec;
  31.    std::ifstream fin("magic.in");
  32.    std::ofstream fout("magic.out");
  33.    int n;
  34.    if(fin>>n)
  35. {
  36.        vec=new int[n*n];
  37.        for(int i=0;i<n*n;i++)
  38.            fin>>vec[i];
  39. }
  40.    fout<<(magic(vec, n) ? "true" : "false");
  41.    fin.close();
  42.    fout.close();
  43.    delete[] vec;
  44.    return 0;
  45.  
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement