随机生成数独的算法

    介绍:数独(すうどく,Sūdoku)是一种运用纸、笔进行演算的 逻辑游戏 。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。

wKioL1M9ODfhBc8oAACom9GNPzQ046.jpg

     这也是个偶然的事情,就在几个小时前,看android教程,有个例子是说数独的,我就鬼神神差的走神了,于是我就想到了这个并不复杂的算法。

     算法简介:直接上图wKiom1M9RAWBefTiAALms_ngOyQ590.jpg

   如上图所示,我需要一个简单的原型,也就是按照一定规则组成的数独表,通过一个随机生成的Map(也就图中所示的参照表),类似与翻译似的经过两次转换,变成一个看似没有规则但都继承了原型表规律的新的数独表。另外,值得一提的是,这两次参照生成并不需要使用同一个Map。

   缺陷:这个算法其实只能算是“伪算法”,因为他并没有真正的生成一个随机的数独表,只是一种表象上的假象。另外对新表进行二次参照并没有实质上的意义,只是我自己寻求的一种心理平衡――让我觉得自己更厉害一些。

   总结:其实,想来有些哗众取宠的感觉。不过,总要给自己些鼓励不是,不然怎么进步啊,加油。



你可能感兴趣的:(游戏,算法,数独)