我有一个0和#的网格。 我想将所有0重新组合成矩形。所需的最小矩形数是多少?
示例:
#00#00
#00#00
0000#0
000000
#11#34
#11#34
2222#4
222254
在这个例子中,我们使用5个矩形。还有其他解决方案,但5个矩形是覆盖所有0的最小值。
答案 0 :(得分:2)
问题是NP-Hard,被称为经典bin-packing problem的2D变体,称为 2D-binpacking 。
因此,没有已知的多项式解决方案。
这是一项广泛研究,下面是一个示例article,其中介绍了解决此问题的方法。
您还可以尝试使用Genthic Algorithms或其他启发式方法来解决问题。