C语言贪心算法书包问题,贪心算法背包有关问题(帮忙看看看)
C/C++ code#include
#include
#define N 50
int x,m;
void analyse(int n,int y,float weight[N],float price[N]) /* 将他们的价值进行排序*/
{
int i,j;
int flag; /*判断*/
float s[N],temp;
for(i=1;i <=n;i++) /* 改为for(i = 0;i < n;i++),不然越界*/
s[i]=price[i]/weight[i];
for(i=1;i <=n;i++) /* 改为for(i = 0;i < n;i++),不然越界*/
{
flag=0;
for(j=1;j <=n-i;j++)
if(s[j]>s[j+1])
{
flag=1;
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
temp=weight[j];
weight[j]=weight[j+1];
weight[j+1]=temp;
temp=price[j];
price[j]=price[j+1];
price[j+1]=temp;
}
if(!flag) break;
}
}
void input(int n,int y,float weight[N],float price[N]) /*输入数据*/
{ int k;
printf("输入物品种数:\n");
scanf("%d",&n);
printf("输入背包重量:\n");
scanf("%1f",&y); /*int y应该用%d*/
printf("输入%d个物品的重量:\n",n);
for(k=1;k <=n;k++) /* 改为for(k = 0;k < n;k++),不然越界*/
scanf("%1f",&weight[k]); /* %lf为double,float weight[]应该用%f */
printf("输入%d个物品的价值:\n",n);
for(k=1;k <=n;k++) /* 改为for(k = 0;k < n;k++),不然越界*/
scanf("%1f",&price[k]); /* %lf为double,float price[]应该用%f */
}
void find(int n,int y,float weight[N],float price[N]) /* 选择方案*/
{
int i;
float sum=0;
for(i=n;i>=1;i--) /* 改为for(i = (n - 1);i > 0;i--),不然越界*/
{
if(sum
{
if(weight[i] <=(y-sum))
{
sum=sum+weight[i];
printf("%d %d",&price[i],&weight[i]); /* %d 改为%f,不然输出的数据不正确 */
}
else
{
printf("%d %d",&price[i],&weight[i]); /* %d 改为%f,不然输出的数据不正确 */
break;
}
}
else
break;
}
}
int main()
{
float w[N],p[N];
input(x,m,w,p);
analyse(x,m,w,p);
find(x,m,w,p);
getch();
return 0;
}
C语言贪心算法书包问题,贪心算法背包有关问题(帮忙看看看)相关推荐
- c语言编程后总有一个错误,C语言编程,之后出现错误,请大神帮忙看下什么问题?...
int main(void) { int a = 10; int *p1 = &a; char ch = 'c'; char *p2 = &ch; printf("p1=&g ...
- c语言return 0;system(pause);,C语言编程,之后出现错误,请大神帮忙看下什么问题?...
int main(void) { int a = 10; int *p1 = &a; char ch = 'c'; char *p2 = &ch; printf("p1=&g ...
- c语言动态规划回溯的原理,「算法思想」分治、动态规划、回溯、贪心一锅炖...
观感度:????? 口味:东北一锅出 烹饪时间:10min 本文已收录在Github github.com/Geekhyt,感谢Star. 数据结构与算法系列专栏第四弹来袭,往期专栏链接如下: 初学者 ...
- 数据结构与算法笔记:贪心策略之BSTBBST, Hashtable+Dictionary+Map, Priority Queue~Heap, Minium Spanning Tree
BST & BBST BST(Binary Search Tree) 二叉搜索树,也就是使用二叉树来做查找 BBST(Balanced Binary Search Tree) 平衡二叉搜索树 ...
- 【算法学习】贪心算法
参考算导第三版第16章 贪心算法 文章目录 1. 活动选择问题 1.1 活动选择问题的最优子结构 1.2 贪心选择 1.3 递归贪心算法 1.4 迭代贪心算法 2. 贪心算法原理 2.1 贪心选择性质 ...
- 五大常用算法之三:贪心算法
一.基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解. 贪心算法没有固定的算法框架,算法设计的关键 ...
- 算法导论之贪心算法(Huffman编码和拟阵)
贪心算法,在解决最优化问题上,通过得到子问题的局部最优解来合成问题的一个解,以局部最优选择来输出一个全局最优解. 问题要用贪心算法来求解,需满足和动态规划一样的最优子结构特征,同时还需要再每个子问题最 ...
- 对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的边。说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度
对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的 边.说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度
- 【数据结构与算法】【算法思想】贪心算法
贪心算法 回溯算法 分治算法 动态规划 四种基本的算法思想:贪心算法,分治算法,回溯算法,动态规划,他们不是具体算法,常用来指导我们设计具体的算法和编码等. 一:贪心算法有很多经典应用 霍夫曼编码(H ...
最新文章
- 1.13 总结-深度学习第五课《序列模型》-Stanford吴恩达教授
- 基于线性SVM的CIFAR-10图像集分类
- Qt文档阅读笔记-Widgets Tutorial官方解析及实例
- 【买衣服】I'm looking for a jacket
- js 中的属性以数字开头的属性和取值
- c语言 sprintf_s 参数 通配符,Rust教程(翻译).doc
- Atitit 互操作之道 接口之道 attilax著
- Boost Thread 编程指南、Boost线程入门教程
- centos php solr 安装,centos下安装配置solr全纪录
- Redis学习三:设计与实现之单机数据库的实现
- Sublime 打开文件中文乱码
- 网站被ddos攻击了怎么办?网站正在被ddos攻击怎么解决
- 批量重命名,文件夹重命名的五种方式分享
- [maven] maven
- 2019年7月28日 恶心人
- 论文笔记:Fast AutoAugment
- 什么是AOP,AOP能干什么,有什么优点
- 用c语言验证1000以内的卡拉兹(Callatz)猜想
- c语言给bmp图片加水印
- Nutz | Nutz项目整合Spring实战
热门文章
- 幸福指数报告 -- 数据可视化+聚类分析
- 270、出界的路径数
- 【C语言】PAT乙级:1007 素数对猜想
- Android: NDK doer not contain any platfor
- 语音合成TTS(Text-To-Speech,从文本到语音)
- 一文带你读懂“亚当理论”的精髓:期货股票交易操作守则与操作技巧
- anaconda下载python的库_Anaconda下载及安装及查看安装的Python库用法
- js正则:提取css语法中的背景图片名字
- python中容易被忽视的三个点
- 蓝牙芯片排行_7月TWS硅麦出货量排行榜出炉