0 1背包问题数据结构 背包问题

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

数据结构 背包问题

#include <stdio.h> #define N 6 int main(){ //从N个背包(每个背包中w[k])中选取总重为T的背包,共有多少种选法 ??????? int w[N]={1,8,3,4,5,2};?????? //6个背包 ??????? int T=10;????????????????????????????? //总重 ??????? int k=0;????????????????????? ??????? int i=0; ??????? int j=1; ??????? struct stacks{????????????????????? //栈 ??????????????? int s[N]; ??????????????? ; ??????? } the_stack; ???????//初始化栈 ?????? ?for(i=0;i<N;i++) the_stack.s[i]=0; ??????? the_=0; ??????? do{ ??????????????? while(T>0&&k<=N){ ??????????????????????? if(T>=w[k]){??????????????????????????????????????????????????? //符合条件的背包进栈 ??????????????????????????????? the_stack.s[the_++]=k; ??????????????????????????????? T-=w[k]; ??????????????????????? } ??????????????????????? k++;????????????????????????????????????????????????????????????????? //不符合则考察下一个背包 ??????????????? } ??????????????? if(T==0){??????????????????????????????????????????????????????????????? //找到一种方法,输出 ??????????????????????? printf("------------Answer%d------------ ",j); ??????????????????????? for(i=0;i<the_;i++){ ??????????????????????????????? printf("%d[%d] ",the_stack.s[i],w[the_stack.s[i]]); ??????????????????????? } ??????????????????????? j++; ??????????????????????? printf(" "); ??????????????? } ??????????????? k=the_stack.s[--the_];??????????? //找不到方法,则前一个入栈的背包出栈,继续考察下一个背包 ??????????????? the_stack.s[the_]=0; ??????????????? T+=w[k]; ??????????????? k++; ??????? }while(!(the_==0&&k==N));?????????? //当栈空且k==N时,所有可能的组合都考察完毕,推出循环 } 运行结果: ------------Answer1------------ 0[1] 2[3] 3[4] 5[2] ------------Answer2------------ 0[1] 3[4] 4[5] ------------Answer3------------ 1[8] 5[2] ------------Answer4------------ 2[3] 4[5] 5[2]

趣米云月付460元,香港CN2云服务器VPS月付低至18元

趣米云早期为做技术起家,为3家IDC提供技术服务2年多,目前商家在售的服务有香港vps、香港独立服务器、香港站群服务器等,线路方面都是目前最优质的CN2,直连大陆,延时非常低,适合做站,目前商家正在做七月优惠活动,VPS低至18元,价格算是比较便宜的了。趣米云vps优惠套餐:KVM虚拟架构,香港沙田机房,线路采用三网(电信,联通,移动)回程电信cn2、cn2 gia优质网络,延迟低,速度快。自行封...

RackNerd新上圣何塞、芝加哥、达拉斯、亚特兰大INTEL系列,$9.49/年

racknerd怎么样?racknerd商家最近促销三款美国便宜vps,最低只需要9.49美元,可以选择美国圣何塞、西雅图、纽约和芝加哥机房。RackNerd是一家成立于2019年的美国高性价比服务器商家,主要从事美国和荷兰数据中心的便宜vps、独立服务器销售!支持中文工单、支持支付宝和微信以及PayPal付款购买!点击直达:racknerd官方网站INTEL系列可选机房:加利福尼亚州圣何塞、芝加...

Spinservers:美国圣何塞服务器,双E5/64GB DDR4/2TB SSD/10Gbps端口月流量10TB,$111/月

spinservers怎么样?spinservers大硬盘服务器。Spinservers刚刚在美国圣何塞机房补货120台独立服务器,CPU都是双E5系列,64-512GB DDR4内存,超大SSD或NVMe存储,数量有限,机器都是预部署好的,下单即可上架,无需人工干预,有需要的朋友抓紧下单哦。Spinservers是Majestic Hosting Solutions,LLC旗下站点,主营美国独立...

0 1背包问题为你推荐
订房系统求酒店开房系统prisma安卓版kovo安卓版的哪有下载?ico监管ICO为什么被叫停excel大写金额EXCEL金额大写上行宽带上行宽带是什么?云输入法QQ云输入法的候选窗口是什么样的?java程序员招聘java程序员学出来工作好不好找,工资咋样?sms是什么短信验证是什么?网站客服代码怎么在网页用HTML代码设置QQ客服网站客服代码如何将在线客服代码插入到您的网页中?
百度域名 美国便宜货网站 sub-process 512m内存 域名转向 php空间购买 河南移动网 metalink 香港新世界中心 google台湾 国外的代理服务器 好看的空间 免费赚q币 asp介绍 阿里云宕机故障 远程主机强迫关闭了一个现有的连接 租主机 网站服务器硬件配置 服务器操作系统安装 华为4核手机 更多