数字九宫格

数字九宫格
九宫格就是3*3的方格。把1~9填入九个方格中。要求水平、竖直、对角线方向上,每三个数字相加和都是15.求9个数字如何摆放?

这个题我们小学都玩过:
最简单的,最笨的方法是一个一个的尝试;
诀窍:
1.从第一列中间方格开始;
2.下一个数字应该“左上角”;
3.如果重复,则放到右边方格。
左出右入;上出下入

诀窍不单单适用于3*3的九宫格,像5*5,7*7,11*11等都适用。

数据结构分析:
二维数组,利用每维的下标来控制放置数字,利用诀窍判断下标。

将i放入方格a[x][y],i+1放入方格a[x1][y1]
左上角原则:x1=x-1; y1=y-1;
左出右入:x1=x-1; y1=2;
上出下入:x1=2; y1=y-1;
占位右移:x1=x; y1=y+1;

for(i=2;i<10;i++){    x1=x1; y1=y-1;    if(y1<0)  y1=2;    if(x1<0)  x1=2;    if(a[x1][y1]!=0)    {        x1=x; y1=y+1;    }    a[x1][y1]=i;    x=x1; y=y1;}
    原文作者:九宫格问题
    原文地址: https://blog.csdn.net/zlfprogram/article/details/74066533
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞