#include<iostream>
using namespace std;
int a[1000],b=0,c=0,sum=0,sum2=0,find=0,i,j;
int main()
{
int n;cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
if(a[i][j]==0)
b=i;c=j;
}
}
if(b!=1) for(i=1;i<=n;i++) sum=sum+a[1][i];
else
for(i=1;i<=n;i++) sum=sum+a[2][i];
for(i=1;i<=n;i++) sum2= sum2+a[b][i];
a[b][c]=sum-sum2;int sum3=0;
for(int i=1;i<=n;i++)
{
sum3=0;
for(int j=1;j<=n;j++)
{
sum3+=a[i][j];
}
if(sum3!=sum)
{
cout<<-1<<endl; return 0;
}
}
for(int i=1;i<=n;i++)
{
sum3=0;
for(int j=1;j<=n;j++)
{
sum3+=a[j][i];
}
if(sum3!=sum)
{
cout<<-1<<endl; return 0;
}
} sum3=0;
for(int i=n,j=1;i>=1,j<=n;i--,j++)
sum3+=a[i][j];
if(sum3!=sum) {cout<<-1<<endl;return 0;}
sum3=0;
for(int i=1,j=1;i<=n,j<=n;i++,j++)
sum3+=a[i][j];
if(sum3!=sum) {cout<<-1<<endl;return 0;}
else
cout<<a[b][c]<<endl;
return 0;
}
#include<iostream>
using namespace std;
int a[1000],b=0,c=0,sum=0,sum2=0,find=0,i,j;
int main()
{
int n;cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
if(a[i][j]==0)
b=i;c=j;
}
}
if(b!=1) for(i=1;i<=n;i++) sum=sum+a[1][i];
else
for(i=1;i<=n;i++) sum=sum+a[2][i];
for(i=1;i<=n;i++) sum2= sum2+a[b][i];
a[b][c]=sum-sum2;int sum3=0;
for(int i=1;i<=n;i++)
{
sum3=0;
for(int j=1;j<=n;j++)
{
sum3+=a[i][j];
}
if(sum3!=sum)
{
cout<<-1<<endl; return 0;
}
}
for(int i=1;i<=n;i++)
{
sum3=0;
for(int j=1;j<=n;j++)
{
sum3+=a[j][i];
}
if(sum3!=sum)
{
cout<<-1<<endl; return 0;
}
} sum3=0;
for(int i=n,j=1;i>=1,j<=n;i--,j++)
sum3+=a[i][j];
if(sum3!=sum) {cout<<-1<<endl;return 0;}
sum3=0;
for(int i=1,j=1;i<=n,j<=n;i++,j++)
sum3+=a[i][j];
if(sum3!=sum) {cout<<-1<<endl;return 0;}
else
cout<<a[b][c]<<endl;
return 0;
}
A - chris and magic square
最新推荐文章于 2022-02-17 21:14:29 发布