我需要根据非常具体的配方构建一个非图解算器。对于每一行,我需要计算所有可能的突变,然后检查该行是否仍然使谜题有效。对于那些不知道非图的人,这里有一个link http://en.wikipedia.org/wiki/Nonogram。行只不过是一个布尔数组,其中“true”表示已标记,“false”表示未标记。
这里的问题在于“所有可能的突变”。让我们看一个例子。如果一行旁边有数字 2、1 和 3,则该行将需要至少 8 块空间(2+1+3,+2 表示必要的空白空间)。因此,如果该行有 8 个空格长,则没有问题。然而,如果行大于该值,即使是很小的幅度,计算所有可能的排列也会非常困难(甚至是 NP 困难)。我想不出正确执行此操作的算法。有人可以帮忙吗?
编辑:看来我的问题不清楚,所以我会尽力澄清一下。
在拼图中,假设我们有一个 1x4 拼图,1 行,4 列。现在让我们看看这一行:
2 1: _ _ _ _
这样看来,唯一可能的答案就是
2 1: X X _ X
但如果拼图是 1x8 呢?
2 1: _ _ _ _ _ _ _ _
我正在寻找一种可以找到此类行的所有排列的算法。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)