Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define endl '\n'
- #define ll long long
- int a[3][3];
- int suma()
- {
- for(int i=0;i<3;i++)
- {
- if(a[i][0]!=0 && a[i][1]!=0 && a[i][2]!=0)
- {
- return a[i][0]+a[i][1]+a[i][2];
- }
- if(a[0][i]!=0 && a[1][i]!=0 && a[2][i]!=0)
- {
- return a[0][i]+a[1][i]+a[2][i];
- }
- }
- if(a[0][0]!=0 && a[1][1]!=0 && a[2][2]!=0)
- {
- return a[0][0]+a[1][1]+a[2][2];
- }
- else
- return a[2][0]+a[1][1]+a[0][2];
- }
- bool square()
- {
- int sum=suma();
- for(int i=0;i<3;i++)
- {
- if(a[i][0] + a[i][1] + a[i][2]!=sum)
- {
- return false;
- }
- if((a[0][i] + a[1][i] + a[2][i])!=sum)
- {
- return false;
- }
- }
- if((a[0][0] + a[1][1] + a[2][2])!=sum)
- {
- return false;
- }
- if(a[0][2] + a[1][1] + a[2][0]!=sum)
- {
- return false;
- }
- return true;
- }
- int main()
- {
- ios_base::sync_with_stdio(false);
- freopen("input.test992","r",stdin);
- freopen("output.test992","w",stdout);
- cin.tie(0);
- for(int i=0;i<3;i++)
- {
- for(int j=0;j<3;j++)
- {
- cin >> a[i][j];
- }
- }
- 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))
- {
- bool test=false;
- if(a[0][2]==0)
- {
- for(int i=0;i<3;i++)
- {
- swap(a[i][0],a[i][2]);
- }
- test=true;
- }
- for(int i=1;i<=20000;i++)
- {
- a[0][0]=i;
- a[1][1]=(a[0][0]+a[0][1]+a[0][2])-(a[1][0]+a[1][2]);
- a[2][2]=(a[0][0]+a[0][1]+a[0][2])-(a[2][0]+a[2][1]);
- if(square())
- {
- break;
- }
- }
- if(test)
- {
- for(int i=0;i<3;i++)
- {
- swap(a[i][0],a[i][2]);
- }
- }
- }
- else
- {
- int sum=suma();
- for(int i=0;i<3;i++)
- {
- if(a[i][0]==0 && a[i][1]!=0 && a[i][2]!=0)
- {
- a[i][0]=sum-(a[i][1]+a[i][2]);
- }
- else if(a[i][0]!=0 && a[i][1]==0 && a[i][2]!=0)
- {
- a[i][1]=sum-(a[i][0]+a[i][2]);
- }
- else if(a[i][0]!=0 && a[i][1]!=0 && a[i][2]==0)
- {
- a[i][2]=sum-(a[i][0]+a[i][1]);
- }
- }
- for(int i=0;i<3;i++)
- {
- if(a[0][i]==0 && a[1][i]!=0 && a[2][i]!=0)
- {
- a[0][i]=sum-(a[1][i]+a[2][i]);
- }
- else if(a[0][i]!=0 && a[1][i]==0 && a[2][i]!=0)
- {
- a[1][i]=sum-(a[0][i]+a[2][i]);
- }
- else if(a[0][i]!=0 && a[1][i]!=0 && a[2][i]==0)
- {
- a[2][i]=sum-(a[0][i]+a[1][i]);
- }
- }
- }
- for(int i=0;i<3;i++)
- {
- for(int j=0;j<3;j++)
- {
- cout << a[i][j] << " ";
- }
- cout << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement