2

我在解决难题时遇到了一些问题。我还没有在任何地方找到这个难题的解决方案,但我尝试在 Prolog 中编写它,但我认为我的解决方案不会很快(我会生成每个解决方案,如果它们不可能或不正确,则将其删除)。这是我的问题:(我找到了那个拼图的名字,这里是那个拼图所有规则的链接:http ://en.wikipedia.org/wiki/Kuromasu )。现在我有一个不同的问题,哪种方法在 Prolog 中很容易编写并且可以很快地解决它。我想过将我的字段列表转换为无向图,或者可能有另一种方法可以垂直搜索我的列表(头接尾)?

在:

0, 0, 0, 5, 0, 0, 0
0, 5, 0, 0, 0, 0, 2
0, 0, 0, 0, 7, 0, 4
0, 0, 0, 0, 0, 0, 0
8, 0, 13,0, 0, 0, 0
5, 0, 0, 0, 0, 6, 0
0, 0, 0, 8, 0, 0, 0

结果:

0, #, 0, 5, 0, 0, #
0, 5, 0, 0, 0, #, 2
0, #, 0, #, 7, 0, 4
#, 0, 0, 0, 0, 0, #
8, 0, 13,0, 0, 0, 0
5, 0, 0, 0, #, 6, 0
#, 0, 0, 8, 0, 0, #
4

1 回答 1

4

这种类型的谜题被称为Kuromasu。这是一个使用 SWI-Prolog 和有限域约束解决它的页面:http: //jfoutelet.developpez.com/articles/kuromasu/

于 2012-03-24T23:15:34.483 回答