算法提高 9-1九宫格
时间限制:1.0s 内存限制:256.0MB
问题描述
九宫格。输入1-9这9个数字的一种任意排序,构成3*3二维数组。如果每行、每列以及对角线之和都相等,打印1。否则打印0。
样例输出
与上面的样例输入对应的输出。
例:
数据规模和约定
输入1-9这9个数字的一种任意排序。
#include <stdio.h>
int grids[3][3] = { 0 };
int is_valid()
{
int sum;
for (int i = 0; i < 3; ++i)
{
sum = 0;
for (int j = 0; j < 3; ++j)
sum += grids[i][j];
if (sum != 15)
return 0;
}
for (int j = 0; j < 3; ++j)
{
sum = 0;
for (int i = 0; i < 3; ++i)
sum += grids[i][j];
if (sum != 15)
return 0;
}
sum = 0;
for (int i = 0; i < 3; ++i)
sum += grids[i][i];
if (sum != 15)
return 0;
sum = 0;
for (int i = 0; i < 3; ++i)
sum += grids[i][2 - i];
if (sum != 15)
return 0;
return 1;
}
int main()
{
for (int i = 0; i < 3; ++i)
for (int j = 0; j < 3; ++j)
scanf("%d", &grids[i][j]);
printf("%d", is_valid());
return 0;
}