0 1背包问题0/1背包问题用c++实现。请给出完整的源代码

0 1背包问题  时间:2022-02-23  阅读:()

0/1背包问题用c++实现。请给出完整的源代码

#include <iostream.h> #include<iomanip.h> #include<string.h> int min(int w,int c) {int temp; if (w<c) temp=w; else temp=c; return temp; } int max(int w,int c) { int temp; if (w>c) temp=w; else temp=c; return temp; } void knapsack(int v[],int w[],int c,int n,int**m) //求最优值 { int jmax=min(w[n]-1,c); for(int j=0;j<=jmax;j++) m[n][j]=0; for(int jj=w[n];jj<=c;jj++) m[n][jj]=v[n]; for(int i=n-1;i>1;i--){ //递归部分 jmax=min(w[i]-1,c); for(int j=0;j<=jmax;j++) m[i][j]=m[i+1][j]; for(int jj=w[i];jj<=c;jj++) m[i][jj]=max(m[i+1][jj],m[i+1][jj-w[i]]+v[i]); } m[1][c]=m[2][c]; if(c>=w[1]) m[1][c]=max(m[1][c],m[2][c-w[1]]+v[1]); cout<<"最优值:"<<m[1][c]<<endl; for(int l=2;l<=n;l++) for(int j=0;j<=c;j++) { cout<<m[l][j]<<setw(c-1); } cout<<endl; cout<<"*******************************************"<<endl; } int traceback(int **m,int w[],int c,int n,int x[]) //回代,求最优解 { cout<<"得到的一组最优解如下:"<<endl; for(int i=1;i<n;i++) if(m[i][c]==m[i+1][c]) x[i]=0; else {x[i]=1; c-=w[i];} x[n]=(m[n][c])?1:0; for(int y=1;y<=n;y++) { cout<<setw(5)<<x[y]; } return x[n]; } void main() { int n,c; int **m; cout<<"&&&&&&&&&&&&&&&&&&&&&欢迎使用0-1背包问题程序&&&&&&&&&&&&&&&&&&&"<<endl; cout<<"请输入物品个数和重量上限:"; cin>>n>>c; int *v=new int[n+1]; cout<<"Pls input the property (v[i]):"<<endl; for(int i=1;i<=n;i++) cin>>v[i]; int *w=new int[n+1]; cout<<"Pls input the weight (w[i]):"<<endl; for(int j=1;j<=n;j++) cin>>w[j]; int *x=new int[n+1]; m=new int*[n+1]; //动态的分配二维数组 for(int p=0;p<n+1;p++) { m[p]=new int[c+1]; } knapsack(v,w,c,n,m); traceback(m,w,c,n,x); }

易探云:香港物理机服务器仅550元/月起;E3-1230/16G DDR3/SATA 1TB/香港BGP/20Mbps

易探云怎么样?易探云(yitanyun.com)是一家知名云计算品牌,2017年成立,从业4年之久,目前主要从事出售香港VPS、香港独立服务器、香港站群服务器等,在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。目前,易探云推出免备案香港物理机服务器性价比很高,E3-1230 8 核*1/16G DDR3/SATA 1TB/香港BGP线路/20Mbps/不限流量,仅...

物语云-VPS-美国洛杉矶VPS无限流量云windows大带宽100M不限流量 26/月起

物语云计算怎么样?物语云计算(MonogatariCloud)是一家成立于2016年的老牌国人商家,主营国内游戏高防独服业务,拥有多家机房资源,产品质量过硬,颇有一定口碑。本次带来的是特惠活动为美国洛杉矶Cera机房的不限流量大带宽VPS,去程直连回程4837,支持免费安装Windows系统。值得注意的是,物语云采用的虚拟化技术为Hyper-v,因此并不会超售超开。一、物语云官网点击此处进入物语云...

昔日数据月付12元起,湖北十堰机房10M带宽月付19元起

昔日数据怎么样?昔日数据是一个来自国内服务器销售商,成立于2020年底,主要销售国内海外云服务器,目前有国内湖北十堰云服务器和香港hkbn云服务器 采用KVM虚拟化技术构架,湖北十堰机房10M带宽月付19元起;香港HKBN,月付12元起; 此次夏日活动全部首月5折促销,有需要的可以关注一下。点击进入:昔日数据官方网站地址昔日数据优惠码:优惠码: XR2021 全场通用(活动持续半个月 2021/7...

0 1背包问题为你推荐
小明发布首页永久网站小明看看手机首页链接财务系统软件财务管理软件是什么软件dnf装备代码dnf超级装备 ,极品代码是什么意思?求教!国家法规数据库哪个常用的法律APP比较好用?在线直播系统网络视频直播系统的简介java程序员招聘java工程师待遇如何医院排队系统医院排队叫号系统有哪些功能?特斯拉model3降价小鹏P7和特斯拉Model 3,买哪个更加划算?ocr软件下载哪个图片转文字软件比较好用?怎样删除聊天记录如何删除和一个人的聊天记录?
万网免费域名 腾讯云盘 mach 优惠码 美国主机代购 godaddy 嘉洲服务器 韩国网名大全 绍兴电信 网站在线扫描 免费mysql数据库 lamp怎么读 稳定空间 空间申请 宿迁服务器 江苏双线 广州主机托管 沈阳idc 德国代理ip dmz主机 更多