apk下载链接:点击打开链接
游戏规则:把圆点放进一定的方格中,使得每行每列的圆点数目和所给定的数字一样,而且圆点按照相邻的分为一组,分组结果也要和给定的一样
隐含规则:每一组都是1*n的形状,一组和另一组是完全相隔的,即一组的圆点不是另一组的圆点的八邻居
这个游戏,和Picross Madness非常相似:点击打开链接
在下面的适当的位置,我依次解释了5个方法:
方法一:极小数字的处理
方法二:极大数字的处理
方法三:各组互斥
方法四:可选组
方法五:对大组位置的枚举
(1)
方法一:极小数字的处理
每个格子最终只有2种状态,放圆点和不放圆点
当一行中已经确定位置的圆点数量达到了该行标定的数字,那么其他格子就都是不放圆点的了,列的话同理。
包括特殊情况:如果数字是0,这一行(列)就直接标注出来不放圆点。
这个看起来没什么用,实际上关键在于已经知道最终状态的一定要先标注出来,对于后面的工作是有影响的。
方法二:极大数字的处理:
和极小数字的处理同理,当一行中有可能放圆点(包括确定放圆点)的位置的数量等于这一行标注的数字时,这些格子就一定都是放圆点的,应该立刻标注出来,列的话同理。
包括特殊情况:如果数字是棋盘的长宽size,那么这一行(列)就都放圆点。
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(1)
(2)
(3)
(4)
(5)
方法三:各组互斥
因为各组是互斥的,所以可以确定一些格子是没有圆点的
为了叙述方便可以分成2种组:
(1)单个圆点构成的组,例如这第(5)关最终会有2个这样的组
单个圆点构成的组,它的八邻居都是不放圆点的
(2)n(n>1)个圆点构成的组,如果确定了这组的方向(可能还没确定该组所有圆点的位置,但是确定了2个圆点的位置即可确定方向是水平还是竖直),那么每个圆点的八邻居中,不在该组所在行列的6个邻居都是不放圆点的
这里标注黑色三角形的圆点,它的邻居中的6个就是不放圆点的,对于超出边界的自然就是直接忽略了
接下来,按照极大数字的处理:
最后:
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)