参考:https://onlinejudge.org/external/103/10365.pdf
假设立方体的尺寸都是相同的 1x1x1 英寸
要将 9 个立方体包裹在一起,所需的最少纸张如下。
解决方案#1 想象一下所有的立方体都水平排列成一排。一共有 9 个相邻的立方体。纸张的宽度必须为 10 英寸长和 1 英寸高。由于有 4 个 9 英寸长的边和 2 个 1 英寸长的边,因此所需的纸张总面积为 4*10 = 40 平方英寸。
解决方案#2 将 3 个立方体排堆叠在另一个立方体的顶部。我们有一个 3x3 的正方形。面积为 6*3^2 = 54 平方英寸
我无法想出更好的解决方案,所需的纸张面积最小为 30 平方英寸(如预期)!!!
好吧,我想我已经明白了。有时理解问题比找到答案更难,尤其是当问题包含错误时。您在上述问题中未能包含的 PDF 中的重要一点是,解决方案必须是矩形块 A x B x C。在这种情况下,表面积 S 为 2*(AB + AC + BC) 。为简单起见,假设 A <= B <= C.
如果我们忽略 PDF 中的预期输入 5,但您正确排除了它,那么对于 9,它必须是 1 x 1 x 9 或 1 x 3 x 3,给出 S_9 = 2*(1 + 9 + 9) = 38或 S_9 = 2*(3 + 3 + 9) = 30。
对于 10,它必须是 1 x 1 x 10 或 1 x 2 x 5,即 S_10 = 2*(1 + 10 + 10) = 42 或 S_10 = 2*(2 + 5 + 10) = 34。
对于 26,它必须是 1 x 1 x 26 或 1 x 2 x 13,即 S_26 = 2*(1 + 26 + 26) = 106 或 S_26 = 2*(2 + 13 + 26) = 82。
...等等。因此,要解决这个问题,您可以尝试将输入 N 分解为 3 个因子的所有方法,然后取表面积最小的一个。