本文最后更新于 1119 天前,其中的信息可能已经有所发展或是发生改变。
问题描述
九宫格。输入1-9这9个数字的一种任意排序,构成3*3二维数组。如果每行、每列以及对角线之和都相等,打印1。否则打印0。
样例输出
与上面的样例输入对应的输出。
例:
数据规模和约定
输入1-9这9个数字的一种任意排序。
代码
using namespace std;
int main(){
int arr[3][3],sum=0,temp,arr1[8];
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
cin>>arr[i][j];
}
}
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
sum+=arr[i][j];
}
arr1[i]=sum;
sum=0;
}
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
sum+=arr[j][i];
}
arr1[i+3]=sum;
sum=0;
}
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(i==j){
sum+=arr[j][i];
}
}
}
arr1[6]=sum;
sum=0;
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(i==(2-j)){
sum+=arr[i][j];
}
}
}
arr1[7]=sum;
temp=arr1[0];
for(int i=1;i<8;i++){
if(temp!=arr1[i]){
cout<<"0";
return 0;
}
}
cout<<"1";
return 0;
}