蓝桥杯 ADV-224 算法提高 9-1九宫格

算法提高 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;
}
发布了298 篇原创文章 · 获赞 43 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/liulizhi1996/article/details/104195470