在地区用圆圈修改的背包

时间:2014-03-29 13:47:37

标签: algorithm knapsack-problem

我在我的大学有一个项目我认为问题应该通过背包算法来解决。

我们有大小的二次区域:

 n x n. 

大小来自命令行。 在输入文件中,我们存储在行中的实数。每个数字都是我们将在我们区域设置的圆的直径(称为“d”)。在每种情况下,n尺寸都大于直径。该文件包含大量数字,因此我们有很多案例可供选择。

我们需要创建方法“pack()”并在方法内部实现从文件中获取任何圆圈的代码,然后将它们放入区域内,使区域占用尽可能多的圆圈(我们需要用圆圈占据n区域的最高可能值)。这意味着我们正在寻找那些将取代我们地区最大部分的数据(圈子)。

我在考虑这个问题,但没有找到任何解决方案。从我的角度来看,我需要修改背包算法,但不知道如何。在我的选择中,最重要的部分是选择算法。

你们能指点我正确的算法吗?任何提示都会非常感激,因为我在这个问题上浪费了。

0 个答案:

没有答案