我需要根据一个非常具体的配方构建一个非图解算器。对于每一行,我需要计算所有可能的突变,然后检查该行是否仍然可以使拼图有效。对于那些未知的非图形,这里是link。一行只不过是一个布尔数组,其中' true'意味着它被标记,并且“错误”#39;意味着它的'不
这里的问题在于所有可能的突变'我们来看一个例子吧。如果一行的旁边有数字2,1和3,则该行至少需要8个空格块(2 + 1 + 3,+ 2表示需要空白空间)。所以,如果行长8个空格,那就没问题了。但是,如果行大于该行,即使是很小的余量,也很难计算所有可能的排列(NP难以均匀)。我想不出一个正确地做到这一点的算法。有人可以帮忙吗?
编辑:我的问题似乎不清楚,所以我会尝试澄清一下。在拼图中,我们假设我们有1x4拼图,1行,4列。现在让我们来看看这一行:
2 1: _ _ _ _
像这样,唯一可能的答案是
2 1: X X _ X
但如果拼图是1x8怎么办?
2 1: _ _ _ _ _ _ _ _
我正在寻找一种可以找到这种线的所有排列的算法。