棒棒糖(结构体)(类似前面循环的上树问题)_题目描述:新年快到了,计算机学院新年晚会正在筹备中,今年有一个新创意:来参加晚会-程序员宅基地

技术标签: 棒棒糖(结构体)  

题目描述

新年快到了,计算机学院新年晚会正在筹备中,今年有一个新创意:来参加晚会的所有学生都有礼物(一根棒棒糖)。老师把买棒棒糖的任务交给小明了,并指定了要买的棒棒糖的品牌和品种。俗话说得好,货比三家不吃亏。小明来到了商店,看了各个店铺里这种棒棒糖的价格,不仅如此,他还记住了每个店铺的存货量。已知小明打算购买n根棒棒糖,问他最少要花多少钱?

输入

第一行输入一个整数n,表示要购买的棒棒糖数量;第二行是一个整数m(1<=m<=10),表示明明考察过的店铺的数量;接下来m行,每行两个数,表示该店铺中棒棒糖的价格和数量,价格为一实数(最多两位小数),数量为一整数。

输出

输出一个实数,保留两位小数,表示最小费用。

样例输入 Copy

100
4
0.5 50
0.33 30
1 80
0.6 40

样例输出 Copy

46.90

思路:重点需要考虑的是如何处理需要购买的棒棒糖数量与店铺库存的关系,如果单纯的价格低,库存少,怎么办?考虑如何从价格最低的开始买,买完之后再买价格第二低的。
这样的话就需要先对价格关系排序,以便后边对买谁更便宜的处理。

#include<stdio.h>
struct bangbangtang
{
double price;
int shu;
}b[105],t;
int main()
{
int n,i,m,j,sum=0;
double min=0.0;
scanf("%d",&n);
scanf("%d",&m);
for(i=1;i<=m;i++)
{
scanf("%lf%d",&b[i].price,&b[i].shu);
}
for(i=1;i<=m;i++)
{
for(j=i+1;j<=m;j++)
{
if(b[j].price<b[i].price)
{
t=b[j];
b[j]=b[i];
b[i]=t;
}
}
}
for(i=1;i<=m;i++)
{
sum=sum+b[i].shu;
min=min+b[i].price*b[i].shu;
if(sum>n)
break;
}
min=min-(sum-n)*b[i].price;
printf("%.2f",min);
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44373494/article/details/90213685

智能推荐

免费源代码网_codeseek-程序员宅基地

文章浏览阅读1.2k次。详细信息请要看:www.codeseek.cn _codeseek

chatgpt赋能python:如何将Python图形居中_py 图片居中-程序员宅基地

文章浏览阅读941次。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。AI职场汇报智能办公文案写作效率提升教程 专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。_py 图片居中

将数据集标注的json格式文件转化成xml格式文件_数据标注生成xml-程序员宅基地

文章浏览阅读5k次,点赞6次,收藏62次。之前训练的Faster R-CNN的标签用的是json格式的文件,现在训练SSD模型需要xml格式的文件。1.新建存放jpg原图和json标签的两个文件夹(PS:所有图片都必须是jpg格式,如果是png、jpeg等其他格式会报错)如2.在labelmedataset文件夹的同级目录中新建py工程文件运行如下程序,即可import osimport numpy as npimport codecsimport jsonfrom glob import globimport cv2._数据标注生成xml

Electron实现系统托盘图标右键出现菜单_electron托盘右键菜单-程序员宅基地

文章浏览阅读699次。【代码】Electron实现系统托盘图标右键出现菜单。_electron托盘右键菜单

arduino使用oled代码_Arduino提高篇01—点亮OLED显示屏-程序员宅基地

文章浏览阅读3.5k次,点赞4次,收藏41次。OLED「OrganicLight-Emitting Diode」,有机发光二极管,又称有机发光半导体,是当下非常受欢迎的显示技术。OLED显示屏与传统LCD显示方式不同,它无需背光,每个像素点自发光,体积更小、更轻更薄更省电,而且能做成柔性屏。本篇介绍Arduino下OLED屏的使用。1. OLED屏介绍OLED屏因其小巧轻薄耗电低等特点,越来越多的应用于嵌入式电子设备中。OLED屏种类不同,显..._arduino四针oled屏使用

Openshift与Kubernetes优缺点对比_jenkins 和openshift集成-程序员宅基地

文章浏览阅读998次。Openshift首个支持企业级 Java 的 PaaS 平台,支持 JEE6 与 JBoss 和其 Eclipse 集成开发环境以及 Maven 和 Jenkins 自动化。使用 OpenShift 的人数及社区人数在不断增长。OpenShift基于Kubernetes,增加哪儿些功能?有什么区别? Openshift 的 Web consoleOpenshift的web console采用node.js 与angularJS开发,支持实时推送,如下示例集成容器管理与ImageStre_jenkins 和openshift集成

随便推点

C语言之——extern_c语言 extern-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏8次。C语言之——extern_c语言 extern

mysql+excel:数据分析----餐饮业日销售情况分析仪_餐饮数据库设计图表-程序员宅基地

文章浏览阅读1.5k次。这篇文章的学习来源于网上,将csv文件导入mysql workbench进行数据处理加工,然后通过ODBC驱动程序(网上老师用的是sql server导入,这个方法在导入时就可以仅创建链接以及加载到数据模型)将mysql workbench中加工好的数据表导入excel中,并使用power queryj将数据表添加到数据模型中以及使用power pivot制作分析仪。_餐饮数据库设计图表

JavaScript-程序员宅基地

文章浏览阅读829次,点赞13次,收藏29次。感觉JavaScript里面还有很多基础的细节没搞明白,开个坑专门存一下。

Mpeg-2的同步及时间恢复_mpeg2 ts流时钟恢复-程序员宅基地

文章浏览阅读553次。一、引言Mpeg-2用于视音频同步以及系统时钟恢复的时间标签分别在ES,PES和TS这3个层次中。在ES层,与同步有关的主要是视频缓冲验证VBV(Video Buffer Verifier),用以防止解码器的缓冲器出现上溢或者下溢;在PES层,主要是在PES头信息里出现的显示时间标签PTS(Presentation Time Stamp)和解码时间标签DTS(Decoding Time Stamp);在TS层中,TS头信息包含了节目时钟参考PCR(Program Clock Refe_mpeg2 ts流时钟恢复

python discuz搜索api_Discuz + Sphinx 全文搜索实现-程序员宅基地

文章浏览阅读207次。这篇文章主要介绍用sphinx(csft)做discuz论坛的全文搜索,操作系统为linux,如果需要windows下的可直接参考:http://www.coreseek.cn/sphinx + mmseg安装,这里的sphinx指的是csft,详见:http://www.coreseek.cn/安装 mmseg :# wget -c http://www.coreseek.cn/uploads/..._discuz sphinx

小B的询问 莫队分块-程序员宅基地

文章浏览阅读84次。小B的询问 莫队分块 题目描述小B有一个序列,包含N个1~K之间的整数。他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重复次数。小B请你帮助他回答询问。输入输出格式输入格式:第一行,三个整数N、M、K。第二行,N个整数,表示小B的序列。..._小b的询问

推荐文章

热门文章

相关标签