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

このタイプのパズルは黒どこと呼ばれます。これは、SWI-Prologと有限ドメイン制約でそれを解決するページです:http://jfoutelet.developpez.com/articles/kuromasu/

于 2012-03-24T23:15:34.483 に答える