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); }

博鳌云¥799/月,香港110Mbps(含10M CN2)大带宽独立服务器/E3/8G内存/240G/500G SSD或1T HDD

博鳌云是一家以海外互联网基础业务为主的高新技术企业,运营全球高品质数据中心业务。自2008年开始为用户提供服务,距今11年,在国人商家中来说非常老牌。致力于为中国用户提供域名注册(国外接口)、免费虚拟主机、香港虚拟主机、VPS云主机和香港、台湾、马来西亚等地服务器租用服务,各类网络应用解決方案等领域的专业网络数据服务。商家支持支付宝、微信、银行转账等付款方式。目前香港有一款特价独立服务器正在促销,...

PacificRack - 洛杉矶QN机房 低至年$7.2 同有站群多IP地址VPS主机

需要提前声明的是有网友反馈到,PacificRack 商家是不支持DD安装Windows系统的,他有安装后导致服务器被封的问题。确实有一些服务商是不允许的,我们尽可能的在服务商选择可以直接安装Windows系统套餐,毕竟DD安装的Win系统在使用上实际上也不够体验好。在前面有提到夏季促销的"PacificRack夏季促销PR-M系列和多IP站群VPS主机 年付低至19美元"有提到年付12美元的洛杉...

丽萨主机122元/每季,原生IP,CN2 GIA网络

萨主机(lisahost)新上了美国cn2 gia国际精品网络 – 精品线路,支持解锁美区Netflix所有资源,HULU, DISNEY, StartZ, HBO MAX,ESPN, Amazon Prime Video等,同时支持Tiktok。套餐原价基础上加价20元可更换23段美国原生ip。支持Tiktok。成功下单后,在线充值相应差价,提交工单更换美国原生IP。!!!注意是加价20换原生I...

0 1背包问题为你推荐
身份证系统电子身份证如何办理财务系统软件常用财务软件有哪些?excel大写金额在Excel中如何输入数字直接显示大写金额?pat是什么格式怎么能把常用格式的图片转换成PAT格式的呀~刷ip流量免费刷流量软件有哪些?哪个免费刷流量工具最好?comexception电脑出现ConnectException: 是什么原因?java程序员招聘为什么Java程序员工资都很高医院排队系统请问医院采血排队的设备系统是独立的吗?特斯拉model3降价特斯拉model 3中国有补贴吗erp系统教程如何使用ERP系统操作?
linuxvps 什么是域名解析 中国万网域名 softlayer 外贸主机 紫田 12u机柜尺寸 京东商城双十一活动 777te 空间出租 佛山高防服务器 免费cdn 摩尔庄园注册 万网注册 免费网络空间 七十九刀 accountsuspended 连连支付 卡巴斯基免费下载 文件传输 更多