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]);
相关推荐
ccLianLian9 分钟前
算法基础·C++常用操作
开发语言·数据结构·c++
HAPPY酷19 分钟前
std::pair` 与 `std::map` 基础
开发语言·c++·算法
喜欢吃燃面32 分钟前
基础算法:高精度
开发语言·c++·学习·算法
堕27434 分钟前
java数据结构当中的《Lambda表达式》
java·数据结构·python
wengqidaifeng1 小时前
数据结构(三)栈和队列(下)队列:程序世界的秩序之美
数据结构
努力学算法的蒟蒻1 小时前
day84(2.12)——leetcode面试经典150
算法·leetcode·面试
程序员酥皮蛋1 小时前
hot 100 第二十三题 23.反转链表
数据结构·算法·leetcode·链表
TracyCoder1231 小时前
LeetCode Hot100(51/100)——155. 最小栈
数据结构·算法·leetcode
wu_asia1 小时前
每日一练叁
算法
dalong101 小时前
A24:圈住小猫游戏
笔记·算法·游戏·aardio