高效的框架切割算法

时间:2016-10-12 23:37:47

标签: algorithm

遇到最初看起来非常简单的问题;但是,我无法找到有效的解决方案。你们能帮忙吗?

纸张由各种长度和宽度的矩形(框架)组成,这些矩形可以具有间隙但不相交。找到将这些矩形分开的最少量的直切(垂直或水平)。必须通过整个可用的电路板进行削减。

输入由矩形的数量组成,后面是每个矩形的左上角和右下角坐标。输出应具有切割次数,然后是2个点,表示垂直/水平切割或NA,如果没有解决方案。请注意,可以使用几种最佳解决方案

输入:

(3,3)

(0,0)(1,1)

(2,0)(3,1)

(0,2)(3,3)

输出:

2

(0,2)(2,2)

(1,0)(1,2)

输入:

(5,5)

(0,0)(3,1)

(4,0)(5,3)

(0,2)(1,5)

(2,4)(5,5)

输出:

NA

1 个答案:

答案 0 :(得分:3)

这是P. Y. Wang自下而上的二维算法(作为一种可能的方法)解决的切割股票问题的典型例子。

Google搜索链接通常会导致付费访问文章,但也可以找到一些publically available描述(PDF version,第6页)