DP-01背包
来源:互联网 发布:打谱软件什么意思 编辑:程序博客网 时间:2024/06/10 17:58
#include <iostream>
using namespace std;
int dp[101][101];
struct aaa
{
int weight;
int price;
}a[101];
int main()
{
int n,w;
while(cin>>n>>w)
{
for(int i=1;i<=n;i++) cin>>a[i].weight>>a[i].price;
for(int i=1;i<=n;i++) //第i种
{
for(int j=1;j<=w;j++)
{
int m=max(dp[i-1][j-a[i].weight]+a[i].price,dp[i-1][j]); //左:放入第i件物品,右:不放
if(a[i].weight>j) dp[i][j]=dp[i-1][j];
else dp[i][j]=m;
// cout<<dp[i][j]<<" ";
}
//cout<<endl;
}
cout<<"最大价值是:"<<dp[n][w]<<endl;
}
}
using namespace std;
int dp[101][101];
struct aaa
{
int weight;
int price;
}a[101];
int main()
{
int n,w;
while(cin>>n>>w)
{
for(int i=1;i<=n;i++) cin>>a[i].weight>>a[i].price;
for(int i=1;i<=n;i++) //第i种
{
for(int j=1;j<=w;j++)
{
int m=max(dp[i-1][j-a[i].weight]+a[i].price,dp[i-1][j]); //左:放入第i件物品,右:不放
if(a[i].weight>j) dp[i][j]=dp[i-1][j];
else dp[i][j]=m;
// cout<<dp[i][j]<<" ";
}
//cout<<endl;
}
cout<<"最大价值是:"<<dp[n][w]<<endl;
}
}
0 0
- DP 背包问题 01背包
- PKU1157 01背包 DP
- hdu2602 dp 01背包
- poj3624 dp 01背包
- 01背包dp
- uva10130(DP 01背包)
- HDU1203 DP-01背包
- 01背包(DP)
- zoj3258 DP 01背包
- DP专题->01背包
- DP-01背包
- DP背包之01背包、完全背包、多重背包笔记
- 01背包、完全背包(DP)
- 背包dp之01背包变形
- 【DP】【01背包】【完全背包】Birthday 题解
- DP总结(1) 01背包 完全背包 多重背包
- dp 01背包,完全背包,多重背包 模板
- DP 01背包 hdu 2602
- ZOJ-1045
- gulp的gulpfile.js文件配置(2)
- Flask+gevent 异步 WEB 架构
- JSP中有哪些重定向方法,它们的区别?
- 解决Ubuntu16.04时间不对的问题
- DP-01背包
- Hibernate自动创表&&Hibernate的四种查询方式
- verilog学习笔记——8位带置位信号的计数器
- Java中的泛型方法
- React Native边学边做(二)登录页面
- PAT 1069. 微博转发抽奖(20)
- java初学求素数小程序
- hihoCoder [Offer收割]编程练习赛8 小Ho的强迫症 (裴蜀定理)
- 第一章 开始Lua