经典简约
清爽简洁,回归本真
液态水晶
毛玻璃+霓虹光带
赛博朋克
霓虹故障艺术风
🚫
违规操作检测
禁止使用右键菜单
⚠️ 此操作已被系统记录
1

混合背包

📝 题解 🔵 仅限 C++
题目描述
<p class="MsoNormal"> &nbsp; &nbsp; &nbsp; 一个旅行者有一个最多能用<span>V</span>公斤的背包,现在有<span>n</span>件物品,它们的重量分别是<span>W1</span>,<span>W2</span>,<span>...,Wn</span>,它们的价值分别为<span>C1,C2,...,Cn</span>。有的物品只可以取一次(<span>01</span>背包),有的物品可以取无限次(完全背包),有的物品可以取的次数有一个上限(多重背包)。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。<span></span> </p>
输入格式
<p class="MsoNormal"> 第一行:二个整数,<span>V(</span>背包容量,<span>V&lt;=200)</span>,<span>N(</span>物品数量,<span>N&lt;=30)</span>;<span></span> </p> 第2..N+1行:每行三个整数Wi,Ci,Pi,前两个整数分别表示每个物品的重量,价值,第三个整数若为0,则说明此物品可以购买无数件,若为其他数字,则为此物品可购买的最多件数(Pi)。
输出格式
<p class="MsoNormal"> 仅一行,一个数,表示最大总价值。<span></span> </p>
样例
样例输入 1
10 3 2 1 0 3 3 1 4 5 4
样例输出 1
11
提交代码
请先登录后提交

🤖 AI 解题助手

DeepSeek
就绪
👋 你好!我是 AI 解题助手。
我已阅读了这道题,可以帮你分析思路、提供代码示例。
⚠️ 请先登录后使用