首页 > 试题广场 >

乔乔的包

[编程题]乔乔的包
  • 热度指数:1599 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

玥玥带乔乔一起逃亡,现在有许多的东西要放到乔乔的包里面,但是包的大小有限,所以我们只能够在里面放入非常重要的物品。现在给出该种物品的数量、体积、价值的数值,希望你能够算出怎样能使背包的价值最大的组合方式,并且输出这个数值,乔乔会非常感谢你。


输入描述:
第1行有2个整数,物品种数n和背包装载体积v;

第2行到i+1行每行3个整数,为第i种物品的数量m、体积w、价值s。


输出描述:
仅包含一个整数,即为能拿到的最大的物品价值总和。
示例1

输入

2 10
3 4 3
2 2 5

输出

13

说明

选第一种一个,第二种两个,结果为3x1+5x2=13。

备注:
1≤v≤500

1≤n≤2000

1≤m≤10

1≤w≤20

1≤s≤100
头像 卫宫士郎红A
发表于 2020-09-13 15:12:22
题目描述玥玥带乔乔一起逃亡,现在有许多的东西要放到乔乔的包里面,但是包的大小有限,所以我们只能够在里面放入非常重要的物品。现在给出该种物品的数量、体积、价值的数值,希望你能够算出怎样能使背包的价值最大的组合方式,并且输出这个数值,乔乔会非常感谢你。输入描述:第1行有2个整数,物品种数n和背包装载体积 展开全文
头像 bandiaoz
发表于 2024-12-21 14:59:29
解题思路 这是一个多重背包问题,每种物品有指定的数量限制 可以将多重背包转化为0-1背包来解决: 对每种物品,最多可以选择其数量上限个 使用逆序遍历避免重复计算 状态定义: 表示容量为 时能获得的最大价值 状态转移: 代码 cpp java python 展开全文
头像 顶尖研发
发表于 2025-02-13 23:40:01
package main import ( "fmt" ) type Item struct { count, value, weight int } func main() { var n,w int fmt.Scan(&n, & 展开全文