【问题标题】:Distributing boxes in a 12-column grid在 12 列网格中分配箱
【发布时间】:2016-05-16 19:36:28
【问题描述】:

假设我们有一个 N 个盒子。我想将它们分布在一个 12 列的网格中,以便在任何情况下都填充每一行。

框的宽度应尽可能相同。每个框的最小宽度为 3。

不幸的是,我无法想出一个解决方案来计算给定 N 的每个框的宽度(手动除外)。

N 从 1 到 7 的示例

| N |  Grid   |
+---+---------+
|   |         |
| 1 |   12    |
|   |         |
| 2 |  6  6   |
|   |         |
| 3 |  4 4 4  |
|   |         |
| 4 | 3 3 3 3 |
|   |         |
| 5 |  6  6   |
|   |  4 4 4  |
|   |         |
| 6 |  4 4 4  |
|   |  4 4 4  |
|   |         |
| 7 |  4 4 4  |
|   | 3 3 3 3 |

【问题讨论】:

    标签: math grid


    【解决方案1】:

    因此,您需要将数字 N 划分为加数 1、2、3、4,最大化相似或接近加数的数量,首选具有最大单系数(dor 示例,c)或相邻系数(b,c)的解决方案
    (硬币找零问题的变种之一)

    a * 1 + b * 2 + c * 3 + d * 4  = N
    

    您可以使用动态规划构建此方程的解,用可能的变体列表填充数组 [0..N],然后选择最佳变体。

    在 DP 构建期间可能会使用预选(不包括 a + d 之类的变体),但我不确定这种方法总能找到好的解决方案。

    【讨论】:

      猜你喜欢
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 1970-01-01
      • 2017-04-17
      • 1970-01-01
      相关资源
      最近更新 更多