01背包

【问题】

一个容量为m公斤的背包。现有n种物品,每种物品只有一件,它们的重

量分别为Wi(1≤i≤n),它们的价值分别为Ci(1≤i≤n)。求能放入背包的最

大价值。

【输入】

第一行:两个整数,n(物品数量,n<51)和m(背包容量,m<201)。

第2 ... n+1行:每行两个整数Wi,Ci,表示每个物品的重量和价值。

【输出】

一个数,表示最大价值。

【样例输入】

3 6

3 5

2 3

4 6

【样例输出】

9

复制代码
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++){
            if(w[i]>j)
                f[i][j]=f[i-1][j];
            else
                f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+c[i]);
        }
    printf("%d",f[n][m]);
相关推荐
Lewiis8 小时前
趣谈排序算法
算法·排序算法
ComputerInBook8 小时前
数字图像处理(4版)——第 8 章——图像压缩与水印(上)(Rafael C.Gonzalez&Richard E. Woods)
人工智能·算法·计算机视觉·图像压缩·图像水印
刀法如飞8 小时前
Python列表去重:从新手三连到高阶特技,20种解法全收录
python·算法·编程语言
minji...9 小时前
算法题 动态规划
算法·动态规划
水蓝烟雨9 小时前
3337. 字符串转换后的长度 II
算法·leetcode
MegaDataFlowers9 小时前
SiliconCompiler workflow
算法
_日拱一卒9 小时前
LeetCode:226翻转二叉树
数据结构·算法·leetcode
BirdenT10 小时前
20260424紫题训练
c++·算法
还是阿落呀10 小时前
基本控制结构
开发语言·c++·算法
样例过了就是过了10 小时前
LeetCode热题100 最长有效括号
c++·算法·leetcode·动态规划