数字九宫格

数字九宫格
九宫格就是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;
}
时间: 2024-10-05 23:29:52

数字九宫格的相关文章

CSS3 border-image详解、应用及jQuery插件

by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=518 一.border-image的兼容性border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人.可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持border-image.所以,就本文而言,IE浏览器可以回家休息了,Firefox3及

关于-webkit-border-image的理解

一.border-image的兼容性border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人.可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持border-image.所以,就本文而言,IE浏览器可以回家休息了,Firefox3及其以下以及Opera浏览器也可以休息去看<阿凡达>了.所以,本文提供的一些demo页面,要在Firefox3.5+,chrome或Safari3+浏览器下才可以看到效果. 二.熟悉b

border-image详解

一.border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人.可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持border-image.所以,就本文而言,IE浏览器可以回家休息了,Firefox3及其以下以及Opera浏览器也可以休息去看<阿凡达>了.所以,本文提供的一些demo页面,要在Firefox3.5+,chrome或Safari3+浏览器下才可以看到效果. 更新于2

知识链-数据结构

数据结构 线性数据结构 Java数据结构-链表 栈和队列 数字九宫格 狼追兔子 猴子选大王 蜗牛爬墙 八皇后问题

CoderForces 689A Mike and Cellphone (水题)

题意:给定一个手机键盘数字九宫格,然后让你判断某种操作是不是唯一的,也就是说是不是可以通过平移也能实现. 析:我的想法是那就平移一下,看看能实现,就四种平移,上,下,左,右,上是-3,要注意0变成8,如果有数字变成小于等于0了,那么就是不可以,同理,下是+3,8可以变成0,其他的也是这样, 注意左右平移是147,和369,是不能平移,然后就AC了.再简化一下就是如果有123,就不能上移,如果有79就不能下移,如果有147就不能左移,如果有369就不能右移,如果有0就不能下左右移. 代码如下: #

CSS3 中border-image详解

CSS3 border-image详解.应用及jQuery插件 一.border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人.可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持border-image.所以,就本文而言,IE浏览器可以回家休息了,Firefox3及其以下以及Opera浏览器也可以休息去看<阿凡达>了.所以,本文提供的一些demo页面,要在Firefox3.5+,

移动端界面devicePixelRatio问题与移动端软键盘keyCode

现在移动端颗粒度越来越小,所以清晰度很高,如华为p9的devicePixelRatio为4, 这是有多变态,devicePixelRatio是物理像素/逻辑像素=倍率devicePixelRatio,所以 如倍率为4,一个像素在设备上放大了4倍,所以真实4像素是很难在设备上展示出现的, 只能使用缩放等手段去实现,这就像为什么1px边框很难在设备实现一样,现在设备都是 倍率为2,所以经常在网上看到缩小0.5的css方式,这也是为什么经常可以看到一些UI设计图 会有@3x\@2x等图片设计,因为兼容

OpenCV玩九宫格数独(一)——九宫格图片中提取数字

前言 首先要明确我们的任务.要想解数独,需要进行计算,图片格式的数字肯定是不行的,所以必须把图片上的数字转换为实实在在的数字才能进行计算.要得到实实在在的数字,我们需要做的是对图片上的数字进行提取和识别.本文先说第一步,图片中数字的提取. 在一年之前,我曾用C++尝试过opencv解数独,但由于当时水平有限,未能完成.当时的成果就是透视变换的应用和方格数字的提取.现在稍微简化一下工作,不再从倾斜的数独图片中提取数独,而是直接用正拍且已经提取好的数独开始处理.这里用到的数独图片如下图所示: 方法

1到9的数字填充后每行每列的数字相加都等于15的九宫格算法

1 /// <summary> 2 /// 九宫格算法 3 /// </summary> 4 public void NineTable() 5 { 6 //创建一个三阶方阵 7 int[,] arr = new int[3, 3]; 8 //第3行的行下标 9 int a = 2; 10 //第2行的行下标 11 int b = 3 / 2; 12 //给数组赋值 13 for (int i = 1; i <= 9; i++) 14 { 15 arr[a++, b++] =