九宫格数独

╠数独的概念╣
  数独是一种源自18世纪末的瑞士,后在美国发展、并在日本得以发扬光大的数学智力拼图游戏。拼图是九宫格(即3格宽×3格高)的正方形状,每一格又细分为一个九宫格。在每一个小九宫格中,分别填上1至9的数字,让整个大九宫格每一列、每一行的数字都不重复。
╠数独的历史╣
■你知道是最先发明数独的吗?
       1783年,瑞士数学家莱昂哈德·欧拉发明了一种当时称作“拉丁方块”的游戏,这个游戏是一个n×n的数字方阵,每一行和每一列都是由不重复的n个数字或者字母组成的。
■你知道是哪一本杂志最先推广数独的吗?
       19世纪70年代,美国的一家数学逻辑游戏杂志《戴尔铅笔字谜和词语游戏》(Dell Puzzle Mαgαzines)开始刊登现在称为“数独”的这种游戏,当时人们称之为“数字拼图”,在这个时候,9×9的81格数字游戏才开始成型。
■你知道“数独”这个游戏名称是怎么来的吗?
       1984年4月,在日本游戏杂志《字谜通讯Nikoil》上出现了“数独”游戏,提出了“独立的数字”的概念,意思就是“这个数字只能出现一次”或者“这个数字必须是惟一的”,并将这个游戏命名为“数独”(SU DOKU),从此,这个游戏开始风靡全球。
╠解法举例╣
先注意其中一个方格,限定该方格内可以填写的数字。
注意其中一列(或者其中一个小九宫格),寻找填写某数字的方格。
学过“资料结构”的人,可以尝试用Backtrack试试。
数独的通解方法及步骤:
根据以下方法可以确保最终得到数独的解,而且通过手工运算的时间基本可以控制在1.5个小时,不论难易程度,所以此方法可以作为取得数独答案的一般解法。
1、根据横列、竖列和方格的限制条件排除各个点不可能的数字,并从1-9将各个可能的数字用小字体逐个写进每个空白的格子。(该步骤大约需要15-20分钟,这是求解的初始,务必确保没有遗漏)。
2、审视第一步骤的结果,如果发现某个空格只有一个数字,即确定该空格为这个数字。并根据该数字审视其相关的横列、竖列和方格,并划除相同的数字。(该情况出现的可能往往不多,除了较简单的数独题,但这是一个必要的过程,而且在随后的过程中要反复使用此方法。)
3、审视各个横列、竖列和方格中罗列出的可能的数字结果,若发现某一个数字在各个横列、竖列或方格中出现的次数仅一次,则可以确定该空格的解为此数字。并根据第二条的方法排除与此空格相关列或方格中相同的数字。
4、审视各个横列、竖列和方格中罗列的各个可能的结果,找出相对称的两个数组合的空格(或3个、4个组合),并确定这两个空格(或3个、4个)的数字只可能为这两个数字,即两个数字在这两个空格的位置可以交换,但不可能到该行、该列或该方格的其他位置。根据此结果可以排除相关列或方格罗列出相关数字的可能,并缩小范围。(该步骤处理的难度相对复杂,需要在积累一定经验的基础上进行,也是最终求解的关键)
5、反复使用2、3、4提到的步骤,逐步得到一个一个空格的解,并将先前罗列的各种可能的结果一个一个排除,使可能的范围越来越小,直至得到最后结果。

另外一种方法解初级的题目比较简单,就是:
1、把每一个横行里缺少的数字写到这一行的最右边。
2、把每一个竖列里缺少的数字写到这一列的最下边。
3、在刚才写的备选数字中,肯定有一个是行和列都缺的,这个数就可以填到里面去了。
4、如此反复第3步即可。

在线玩数独游戏地址:http://www.yx007.com/sdir/slist793c24.htm
编辑/发表时间:2008-03-25 17:55
编辑词条如何编辑词条?)                          历史版本

资料出处:
贡献者:
卢向辉