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]

哪里购买香港云服务器便宜?易探云2核2G低至18元/月起;BGP线路年付低至6.8折

哪里购买香港云服务器便宜?众所周知,国内购买云服务器大多数用户会选择阿里云或腾讯云,但是阿里云香港云服务器不仅平时没有优惠,就连双十一、618、开年采购节这些活动也很少给出优惠。那么,腾讯云虽然海外云有优惠活动,但仅限新用户,购买过腾讯云服务器的用户就不会有优惠了。那么,我们如果想买香港云服务器,怎么样购买香港云服务器便宜和优惠呢?下面,云服务器网(yuntue.com)小编就介绍一下!我们都知道...

免费注册宝塔面板账户赠送价值3188礼包适合购买抵扣折扣

对于一般的用户来说,我们使用宝塔面板免费版本功能还是足够的,如果我们有需要付费插件和专业版的功能,且需要的插件比较多,实际上且长期使用的话,还是购买付费专业版或者企业版本划算一些。昨天也有在文章中分享年中促销活动。如今我们是否会发现,我们在安装宝塔面板后是必须强制我们登录账户的,否则一直有弹出登录界面,我们还是注册一个账户比较好。反正免费注册宝塔账户还有代金券赠送。 新注册宝塔账户送代金券我们注册...

限时新网有提供5+个免费域名

有在六月份的时候也有分享过新网域名注册商发布的域名促销活动(这里)。这不在九月份发布秋季域名促销活动,有提供年付16元的.COM域名,同时还有5个+的特殊后缀的域名是免费的。对于新网服务商是曾经非常老牌的域名注册商,早年也是有在他们家注册域名的。我们可以看到,如果有针对新用户的可以领到16元的.COM域名。包括还有首年免费的.XYZ、.SHOP、Space等等后缀的域名。除了.COM域名之外的其他...

0 1背包问题为你推荐
sdfsdfsdf为什么我在dreamweaver里做不出这种居中对齐效果?bean是什么意思在jdbc的DAO是什么意思?还有bean?dnf装备代码dnf超级装备 ,极品代码是什么意思?求教!4k超高清视频下载4k电视有什么视频软件可以看4k片源比如乐视…素数算法什么是素数算法excel大写金额怎么用Excel将小写金额转换成人民币的大写金额公众号付费阅读如何申请微信付费阅读功能pat是什么格式怎么将自己做的PS图片保存为PAT格式?手机软件开发工具手机app一般用什么 软件开发方正证券官方网方正证券同花顺下载/2010同花顺官方网站/同花顺官方网站首页
免费二级域名注册 美国主机推荐 sockscap patcha 免费ftp空间申请 铁通流量查询 华为网络硬盘 qq数据库下载 中国电信测速112 hkg 刀片式服务器 免费防火墙 metalink 酷番云 33456 idc查询 google台湾 服务器是干什么用的 空间登入 东莞服务器托管 更多