题目
zz的01背包问题
描述
zz每天都会去零食店寻找自己喜欢吃的零食。可惜的是zz的背包容量(V<=10000)是有限的,他只能装一定重量的零食。为了买到自己满意度更高的零食组合,zz给每种零食都赋予了一个满足度,表示zz买了这种零食后可以收获的满足度是多少。零食的种类有n(n<=100)种,每种零食都有一个占用空间(Wi<=100),和一个zz的满足度(Di<=1000)。请你帮zz小朋友计算一下,他能得到的最大满足度是多少?
输入格式
第一行包含两个整数n,v,分别表示零食的种类和zz的背包的容量。
接下来n行,每行两个整数Wi和Di,分别表示第i种零食的占用空间和买了这种零食后zz获得的满足度。
输出格式
一行一个整数,表示zz能够获得的最大满足度。
输入样例
6 10
1 4
4 3
5 6
2 2
3 2
5 7
输出样例
14
题目思路
第一种思路 dp二维数组
#include <iostream>
#include <algorithm>
using namespace std;
int dp[101][10001];
int main(){
int n,v,w[101],d[101]; //定义变量
cin>>n>>v;
for(int i=1;i<=n;i++) cin&