希望大家给于指点和提示!  
谢谢!  
联系方式:[email protected]我现在在写一个游戏sudoku
游戏规则:
「数独」(sudoku)来自日文,但概念源自「拉丁方块」,是十八世纪瑞士数学家欧拉发明的。游戏规则很简单,九个九宫格里,每一直行与每一横列都有1到9的数字,每个小九宫格里也有1到9的数字,但一个数字在每个行列及每个小九宫格里都只能出现一次。谜题会填上若干数字,其它宫位留白,玩家得自行依逻辑推敲出剩下的空格里是什么数字。
本来整个程序都已经些完了,但是在最后的时候发现一个问题:不能保证我给出的题目,最后只有唯一的一个解。      sudoku用c实现,主要是算法利用递归。程序随机的得到一个完整的sudoku,然后在再这个sudoku上
      将某些位置的数字清除,而形成一个sudoku题目。      难度控制是由2个条件组合来控制的:
                          a:空格可以添入的数的个数(即空格的自由度)
                          b:空的格子的总个数      我这样出题目不能保证,最后的解是唯一的,于是开始去解决这个问题。在解决这个问题的途中,发现网络上
      的sudoku游戏的题目都有一个规则(显示数字图形都有某种对称关系,通过旋转都可以得到),他的难度我也
      不知道是根据什么而得来的?可以肯定的是和我的难度控制不一样。
     为了找一个理论根据,查过<<组合数学>>里面关于棋盘多项式和拉丁方阵的介绍,但都还没有找到好的方案。      现在的这个问题(难度控制和唯一性)确实很辣手,望您给予指点和帮助!
   
      期待着您的回复!谢谢!