问题描述
九宫格。输入1-9这9个数字的一种任意排序,构成3*3二维数组。如果每行、每列以及对角线之和都相等,打印1。否则打印0。
样例输出
与上面的样例输入对应的输出。
例:
数据规模和约定
输入1-9这9个数字的一种任意排序。
import java.util.Scanner;
public class Main {
public static boolean IsEqual(int[][] num){
boolean flag = true;
int sum = 0;
int tmp = 0;
for ( int i = 0 ; i < 3 ; i++){
sum += num[0][i];
}
for ( int i = 1 ; i < 3 ; i++){
tmp = 0;
for ( int j = 0 ; j < 3 ; j++){
tmp += num[i][j];
}
if ( tmp == sum){
continue;
}else{
flag = false;
break;
}
}
if ( flag == true){
for ( int i = 0 ; i < 3 ; i++){
tmp = 0;
for ( int j = 0 ; j < 3 ;j++){
tmp += num[j][i];
}
if ( tmp == sum){
continue;
}else{
flag = false;
break;
}
}
}else{
return flag;
}
if ( flag == true){
tmp = 0;
for ( int i = 0 ; i < 3 ; i++){
tmp += num[i][i];
}
if ( tmp != sum){
flag = false;
}else{
flag = true;
}
}else{
return flag;
}
if ( flag == true){
tmp = 0;
for ( int i = 0 ; i < 3 ; i++){
tmp += num[2-i][i];
}
if ( tmp == sum){
flag = true;
}else{
flag = false;
}
}
return flag;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int[][] num = new int[3][3];
for ( int i = 0 ; i < 3 ; i++){
for ( int j = 0 ; j < 3 ; j++){
num[i][j] = in.nextInt();
}
}
if (IsEqual(num) == true){
System.out.println(1);
}else{
System.out.println(0);
}
in.close();
}
}