俄罗斯方块式的Square(NxN)板块

时间:2018-02-02 07:55:29

标签: constraint-programming tetris

当我还是个孩子的时候,我有一个方板俄罗斯方块拼图,而且说明说有> 1.5万个解决方案。我一直想知道他们如何计算解决方案,我想复制它。

所以我想将NxN板的分区搜索成4个单元和5个单元的片段。允许旋转,不翻转。

  • 问题A:确定是否可以将一组块组合成NxN网格。
  • 问题B:找到没有矩形细分的除法,除了单个片段(4个单元格,即2x2和1x4)。

我正在考虑约束编程。但是如果我将每个墙的存在编码为布尔值,我怎样才能有效地计算块?是否更好地处理碎片并在以后检查矩形?

还有哪些其他技术可以提供帮助?

注意:这只是为了好玩,而不是作业或其他任何东西。

1 个答案:

答案 0 :(得分:0)

我曾经在Prolog中挑战过解决pentomino变体。

程序:

http://www2.koyahatataku.com/programming/pent.txt

结果:

http://www2.koyahatataku.com/programming/pent_out.txt

我尝试使用天真蛮力Depth-first search算法。