遇到最初看起来非常简单的问题;但是,我无法找到有效的解决方案。你们能帮忙吗?
纸张由各种长度和宽度的矩形(框架)组成,这些矩形可以具有间隙但不相交。找到将这些矩形分开的最少量的直切(垂直或水平)。必须通过整个可用的电路板进行削减。
输入由矩形的数量组成,后面是每个矩形的左上角和右下角坐标。输出应具有切割次数,然后是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
答案 0 :(得分:3)
这是P. Y. Wang自下而上的二维算法(作为一种可能的方法)解决的切割股票问题的典型例子。
Google搜索链接通常会导致付费访问文章,但也可以找到一些publically available描述(PDF version,第6页)