装载问题 题解

【题目描述】

有一批共 n 个集装箱要装上艘载重量为 c 的轮船,其中集装箱 i 的重量为 wi。找出一种最优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱装上轮船。

【输入】

第一行有 2 个正整数 n(1<=n<=40)和 c。n 是集装箱数,c 是轮船的载重量。接下来的 1 个有n 个正整数,表示集装箱重量。

【输出】

输出最大装载量

【样例输入】

5 10

7 2 6 5 4

【样例输出】

10

=================题解================

      Dfs或0-1背包。

      枚举每个集装箱,每次枚举时将重量累加并递归,传入当前的重量与集装箱编号,函数开始时判断是否超过最大重量,超过则return,之后用重量更新答案,这里可以加一个特判,当当前重量==最大重量时可以直接输出。退出函数后将累加的减掉。

    原文作者:分支限界法
    原文地址: https://blog.csdn.net/linjia64/article/details/79997337
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞