博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
背包问题
阅读量:7304 次
发布时间:2019-06-30

本文共 1368 字,大约阅读时间需要 4 分钟。

今晚本来是在学C++的,看到了Q群上一位朋友写的背包问题出错,帮他改了下。。。结果。。。

总结下:

1、想好了再写

2、细心再细心

3、自己的代码,自己会介意!

View Code
#include 
using namespace std;int main(){ //背包问题,利用了局部优化,w为商品的重量,W[0]应该不是商品,表示没有商品装下 int n,v,i=0,j=0,temp; while(cin>>n>>v) { int *w=new int[n]; for(i=1;i<=n;i++)//重量,这应该是从i=1开始 { cin>>w[i]; } int **val=new int*[n+1];//二维数组 for (i=0;i<=n;i++) { val[i]=new int[v+1]; } for (i=0;i<=n;i++)//初始化列 { val[i][0]=0; } for (j=0;j<=v;j++)//初始化行 { val[0][j]=0; } for(i=1;i<=n;i++)//主循环 { for(j=1;j<=v;j++) { val[i][j]=val[i-1][j]; if(w[i]<=j) { temp=val[i-1][j-w[i]]+w[i]; if(temp>val[i][j]) val[i][j]=temp; } cout<<"val["<
<<"]"<<"["<
<<"]:"<
<
=0;i--)//这只为:i>=0 { c[i]=0; } j=v; for (i=n;i>0;i--) { if(val[i][j]>val[i-1][j]) { c[i]=1; j-=w[i]; } } cout<
<

 

 

转载于:https://www.cnblogs.com/yihua/archive/2013/03/14/2960577.html

你可能感兴趣的文章
android:targetSdkVersion引起的问题
查看>>
C# 前台线程与后台线程的区别和联系
查看>>
转载:SQL 递归树 子父节点相互查询
查看>>
计算图片物理大小
查看>>
C++ 11中几个我比较喜欢的语法(三)
查看>>
每日英语:Stressed at Work? Reflect on the Positive
查看>>
eclipse中svn提交报错的解决
查看>>
Andriod书籍准备
查看>>
iCloud无法导入vCard问题。fix the error when import vcard/vcf to icloud.
查看>>
更新mac自带的python
查看>>
java 连接 MySQL
查看>>
PHP单元测试工具PHPUnit初体验
查看>>
是否只查看安全传送的网页内容? 去掉 IE弹出窗口
查看>>
OpenCV学习(25) 直方图(2)
查看>>
javascript content
查看>>
Running CMD.EXE as Local System(转)
查看>>
hibernate 多对一关联
查看>>
利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密
查看>>
IE内存泄露与无法回收研究小结
查看>>
第三部分:Android 应用程序接口指南---第四节:动画和图形---第二章 View动画与Drawable动画...
查看>>