题目:
圣诞节来临了,圣诞老人准备分发糖果,现在有多箱不同的糖果,每箱糖果有自己的价值和重量,每箱糖果都可以拆分成任意散装组合带走。圣诞老人的驯鹿雪橇最多只能装下重量W的糖果,请问圣诞老人最多能带走多大价值的糖果。
输入
第一行由两个部分组成,分别为糖果箱数正整数n(1 <= n <= 100),驯鹿能承受的最大重量正整数w(0 < w < 10000),两个数用空格隔开。其余n行每行对应一箱糖果,由两部分组成,分别为一箱糖果的价值正整数v和重量正整数w,中间用空格隔开。
输出
输出圣诞老人能带走的糖果的最大总价值,保留1位小数。输出为一行,以换行符结束。
样例输入
4 15
100 4
412 8
266 7
591 2
样例输出
1193.0

#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
struct Candy{int v,w;
}C[105];
bool compare(Candy a,Candy b)
{return (a.v*1.0/a.w)>(b.v*1.0/b.w);
}
int main()
{int N,W;double V=0; cin>>N>>W;for(int i=0;i<N;i++)cin>>C[i].v>>C[i].w;sort(C,C+N,compare);for(int i=0;i<N;i++){if(W>C[i].w){V+=C[i].v;W-=C[i].w;}else{V+=W*1.0/(C[i].w)*(C[i].v);break;}}printf("%.1f",V);return 0;
}

思路:
1.用贪心的思路,用c++自带的sort函数对礼物的性价比进行排序,然后依次拿走,如果能拿走完就全拿走,拿走一些则进行比例的分配。
2.排序的时候是性价比大的排在前面,所以写compare函数时返回大的那个。

算法基础:圣诞老人的礼物--贪心相关推荐

  1. Poj 圣诞老人的礼物 贪心

    圣诞节?快乐^ - ^ POJ 4110 圣诞老人的礼物(贪心) 描述 圣诞节来临了,在城市A中圣诞老人准备分发糖果,现在有多箱不同的糖果,每箱糖果有自己的价值和重量,每箱糖果都可以拆分成任意散装组合 ...

  2. 贪心算法之圣诞老人的礼物

    问题描述 圣诞节来临了,中圣诞老人准备分发糖果,现在有多箱不同的糖果,每箱糖果有自己的价值和重量,每箱糖果都可以拆分成任意散装组合带走,圣诞老人的寻路雪橇最多只能装下重量W的糖果,请问圣诞老人最多能带 ...

  3. 【算法基础26】贪心下——哈夫曼树、排序不等式、绝对值不等式、推公式的思路与应用

    一.合并果子(哈夫曼树) 题目描述:给出n堆不同种类的果子,每堆果子的数量不同,每个果子的重量为1.每次只能合并相邻堆的果子,且花费的体力是果子的重量和.将所有果子合并成一堆,求最小的体力花费. 问题 ...

  4. 基础算法——贪心算法(圣诞老人的礼物)

    题目是这样的: 圣诞节来临了,中圣诞老人准备分发糖果现在有多箱不同的糖果, 每箱糖果有自己的价值和重量,每箱糖果都可以拆分成任意散装组合带走.圣诞老人的驯鹿雪橇最多只能装下重量W的糖果,请问圣诞老人最 ...

  5. 题解 蓝桥杯 算法训练 ALGO-1003 礼物 (贪心) 解析

    题目 JiaoShou在爱琳大陆的旅行完毕,即将回家,为了纪念这次旅行,他决定带回一些礼物给好朋友.在走出了怪物森林以后,JiaoShou看到了排成一排的N个石子.这些石子很漂亮,JiaoShou决定 ...

  6. 贪心题目——圣诞老人的礼物

    例题 圣诞老人的礼物 分发糖果,多箱不同的糖果,每箱有自己的价值和重量,每箱都可以拆分成任意散装组合带走,但是雪橇只能装下W重量的糖果,请问圣诞老人最多能敌啊走多大价值的糖果. 输入: 1⃣️n (箱 ...

  7. Bailian4110 圣诞老人的礼物-Santa Clau’s Gifts【背包+贪心】

    4110:圣诞老人的礼物-Santa Clau's Gifts 总时间限制: 1000ms 内存限制: 65536kB 描述 圣诞节来临了,在城市A中圣诞老人准备分发糖果,现在有多箱不同的糖果,每箱糖 ...

  8. 任务分配算法c语言程序,程序员算法基础——贪心算法

    原标题:程序员算法基础--贪心算法 前言 贪心是人类自带的能力,贪心算法是在贪心决策上进行统筹规划的统称. 比如一道常见的算法笔试题跳一跳: 有n个盒子排成一行,每个盒子上面有一个数字a[i],表示最 ...

  9. 《趣学算法(第2版)》读书笔记 Part 4 :贪心算法基础(操作)

    14天阅读挑战赛 系列笔记链接 <趣学算法(第2版)>读书笔记 Part 1 :如何高效学习算法 <趣学算法(第2版)>读书笔记 Part 2 :算法入门 <趣学算法(第 ...

最新文章

  1. 睡前刷8分钟手机,身体兴奋1小时
  2. c# 基于layui的通用后台管理系统_基于spring boot和vuejs的通用后台管理系统脚手架 guns-lite...
  3. c++ 迭代器支持的运算
  4. java清除输出内容_java – 从JSch中的命令输出中删除shell东西...
  5. 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。...
  6. sd-card on android 5.0,Android5.0以上SDCard文件删除问题
  7. 破解数字游戏 —— 概率篇
  8. echarts 关系图 参数_Echarts关系图(使用重力图)
  9. 新手必读——OOP三大特征及联系
  10. c/c++ hash表 (哈希表、字典表)
  11. 原型设计工具——墨刀
  12. linux录制声卡声音_Linux ALSA 多声卡操作
  13. 网页或大屏展示的倒计时器
  14. Linux/Ubuntu的常用文件查找命令
  15. (CVPR-2018)Non-local Neural Networks
  16. 二维彩虹产品功能更新(H5编辑二维码)
  17. Yansongda\Pay 支付宝返回值封装
  18. hdmi接口线_想要畅享4K高画质,HDMI线怎么选?
  19. 团队项目--地铁信息查询
  20. 使用含有关键字exists查找未分配具体部门的员工的所有信息。

热门文章

  1. Linux公平队列FQ接口实现
  2. 万字长文!对比分析了多款存储方案,KeeWiDB最终选择自己来
  3. Spark的性能优化案例分析(下)
  4. 要活 102 年,阿里凭借的是什么?
  5. cv::watershed(img,mask)
  6. 2019届互联网校招高薪清单
  7. MarkDown超级教程 Obsidian版 2022.1.12
  8. 海量传感数据管理系统功能要求与总体结构
  9. IPhone弹出基于Phonegap的工程的Admob广告
  10. Draemon 360开源的基于Promtheus的升级版本告警系统