Algorithm 在受约束的4列报纸网格中,将图像放置在故事旁边的算法

Algorithm 在受约束的4列报纸网格中,将图像放置在故事旁边的算法,algorithm,layout,printing,bin-packing,Algorithm,Layout,Printing,Bin Packing,这个问题是关于任何代码或指针,这些代码或指针有助于在受约束且定义良好的网格中“靠近”故事的图像布局 这些是基础知识和输入: 整个物体称为报纸。它有一组故事(不同的文本长度) 每个故事可以有一个与之关联的图像,也可以没有 报纸自动排成4栏。文本从左上到右下,沿着每列向下流动 图像可以放置在固定位置-左上、中上、右上、左中、中、右中、左下、中下、右下 放置图像时,它可以跨越1到3列。高度将根据设置的跨度自动调整以适合比例 所有实际的布局工作(以及围绕文本流动的图像)都已完成-算法所要求的只是决策

这个问题是关于任何代码或指针,这些代码或指针有助于在受约束且定义良好的网格中“靠近”故事的图像布局

这些是基础知识和输入:

  • 整个物体称为报纸。它有一组故事(不同的文本长度)
  • 每个故事可以有一个与之关联的图像,也可以没有
  • 报纸自动排成4栏。文本从左上到右下,沿着每列向下流动
  • 图像可以放置在固定位置-左上、中上、右上、左中、中、右中、左下、中下、右下
  • 放置图像时,它可以跨越1到3列。高度将根据设置的跨度自动调整以适合比例
  • 所有实际的布局工作(以及围绕文本流动的图像)都已完成-算法所要求的只是决策
总的问题是以一种有趣的方式将故事放置在固定的布局中,使图片靠近与之相关的故事,并展示位置和跨度的有趣变化,从而使印刷品的阅读体验有趣且美观

这是算法所需的工作:

  • 当一篇带有图片的报道登上报纸时,至少 图片的一个边缘必须与它所涉及的故事相联系
  • 我们需要决定是否对新闻进行重新排序,以使图像密度在某一方面不会过于偏向,例如,前4页有大量图片,而报纸的其余部分只是文本
  • 如果我们选择重新排序和洗牌故事,那么解决这个布局问题的最佳方法是什么
总的来说,我不确定这是否属于箱子包装问题——从某种意义上说,故事可以重新排序,以尽量减少空白;因为我们需要把图像放在故事的“附近”


任何指向如何解决此问题的指针,或帮助解决类似问题的代码都是值得赞赏的。

假设故事的顺序将使这些故事文本按列顺序依次出现。如果故事有图片,那么图片可以位于故事文本的上方/下方/左侧/右侧

  • 生成所有可能的故事和图片顺序
  • 如果任何图片位置不合适,则放弃订单(它不能位于最左边的列的左侧,或者如果放置在指定位置,则图片不会出现在允许的位置之一)

  • 剩下的是一组符合放置规则的可能故事/图片顺序。然后,您可以将它们缩微显示出来,并让副编辑选择最佳内容。

    每页的平均故事数量和范围是多少?每页图片?