当我还是个孩子的时候,我有一个方板俄罗斯方块拼图,而且说明说有> 1.5万个解决方案。我一直想知道他们如何计算解决方案,我想复制它。
所以我想将NxN板的分区搜索成4个单元和5个单元的片段。允许旋转,不翻转。
我正在考虑约束编程。但是如果我将每个墙的存在编码为布尔值,我怎样才能有效地计算块?是否更好地处理碎片并在以后检查矩形?
还有哪些其他技术可以提供帮助?
注意:这只是为了好玩,而不是作业或其他任何东西。
答案 0 :(得分:0)
我曾经在Prolog中挑战过解决pentomino变体。
程序:
http://www2.koyahatataku.com/programming/pent.txt
结果:
http://www2.koyahatataku.com/programming/pent_out.txt
我尝试使用天真蛮力Depth-first search
算法。