Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- bool magic(const int* in, const int n)
- {
- int i, j, res[4]={0};
- for(i=0;i<n;i++)
- for(j=0;j<n;j++)
- res[0]+=in[i*n+j];
- for(j=0;j<n;j++)
- for(i=0;i<n;i++)
- res[1]+=in[i*n+j];
- if(res[1]!=res[0])
- return false;
- res[0]/=n;
- res[1]/=n;
- for(i=0;i<n;i++)
- res[2]+=in[i*n+i];
- if(res[2]!=res[1])
- return false;
- for(i=0;i<n;i++)
- res[3]+=in[i*n+(n-i-1)];
- if(res[3]!=res[2])
- return false;
- return true;
- }
- int main()
- { int *vec;
- std::ifstream fin("magic.in");
- std::ofstream fout("magic.out");
- int n;
- if(fin>>n)
- {
- vec=new int[n*n];
- for(int i=0;i<n*n;i++)
- fin>>vec[i];
- }
- fout<<(magic(vec, n) ? "true" : "false");
- fin.close();
- fout.close();
- delete[] vec;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement