1351 吃点心
题目来源: TopCoder
基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题

 收藏
 关注

有N盒点心,这些盒子标号为1,2,...N,你有一次机会选择一些盒子作为你的晚餐,但是每个盒子里点心的数量是未知的,不过有人告诉你一些信息:
1)这些盒子里的点心总和是C个;
2)对于盒子i,其中的点心个数最少有low_i个,最多有high_i个,即low_i<=box_i<=high_i,box_i是第i盒的点心个数。
你选择的方式如下,一次挑出N盒中的若干盒,也就是{1,2,...,N}的一个子集,然后拿走你选出的盒子,再打开它们,到此时你才知道你到底获得了多少个点心。为了吃饱晚餐,你需要吃至少X个点心。请问你需要至少选多少盒点心才能保证一定吃饱?

例如样例中:第一组选第3,4,5三盒,第二组选第1,3两盒。

Input
多组测试数据,第一行一个整数T,表示测试数据数量,1<=T<=5
每组测试数据有相同的结构构成:
每组数据的第一行三个整数N,C,X,表示盒子个数、点心总数、需要的点心个数,其中1<=N<=50,1<=X<=C;
之后N行,每行2个整数low_i,其中 1 <= low_i <= high_i <= 10,000,000,同时保证  SUM{low_i | 1<=i<=N} <=C<= SUM{high_i | 1<=i<=N},即数据确保点心总数与点心上下界的合法性;
Output
每组数据一行输出,即最少需要挑的盒子数量。
Input示例
2
5 15 12
1 1
2 2
3 3
4 4
5 5
3 60 8
5 49
2 48
3 47
Output示例
3
2

没错贪心就好了,先按l从大到小排序,再按r从小到大排序

#include<stdio.h>
#include<algorithm>
using namespace std;
typedef struct Food
{int l;int r;bool operator < (const Food &b) const{if(l>b.l || l==b.l && r>b.r)return 1;return 0;}
}Food;
Food s[55];
bool comp(Food a, Food b)
{if(a.r<b.r || a.r==b.r && a.l<b.l)return 1;return 0;
}
int main(void)
{int T, n, all, i, ned, ans, bet;scanf("%d", &T);while(T--){scanf("%d%d%d", &n, &all, &ned);for(i=1;i<=n;i++)scanf("%d%d", &s[i].l, &s[i].r);sort(s+1, s+n+1);ans = 0;for(i=1;i<=n;i++){ans += s[i].l;if(ans>=ned)break;}bet = i;sort(s+1, s+n+1, comp);ans = 0;for(i=1;i<=n;i++){ans += s[i].r;if(all-ans<ned)break;}printf("%d\n", min(bet, n-i+1));}return 0;
}

51nod-1351:吃点心相关推荐

  1. 51NOD 1351 吃点心 贪心

    1351 吃点心 题目来源: TopCoder 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 有N盒点心,这些盒子标号为1,2,...N,你有一次机会 ...

  2. 51nod 1351 吃点心

    O(n)的算法,数据量居然只有50... 对于选取的若干盒子,有两种情况是符合条件的 1.这些盒子的low和 ≥ x 2.c - 其他盒子的high和 ≥ x 分别进行计算,求较小值即可. #incl ...

  3. 6月书讯 | 唠嗑也能学数学!

    自从人工智能大火之后,一大批人开始争相入行. 与此同时,还带火了一门编程语言,那就是 Python! 当大家兴高采烈地学习 Python ,准备为入门人工智能降低难度时,一个不可忽视的问题出现了,大家 ...

  4. 九种食物帮你赶走忧郁

    [装载] 九种食物帮你赶走忧郁 个人的喜怒哀乐与饮食有着密切的关系,有的食品能够使人快乐.安宁,有的食品则使人悲伤.忧愁.焦虑.愤怒.原因就是人体中一种称为血清素的物质有助于镇定情绪.解除焦虑,有的食 ...

  5. 对学校的希望和寄语_家长对孩子的期望寄语精选

    孩子是父母的希望,是望子成龙望女成凤的美好祈愿.下面给大家介绍下家长对孩子的期望寄语,希望可以帮到您哦! 一.家长对孩子的期望寄语 1.作为父母,我们对小安在第一学期的各方面表现基本满意,这也大大增强 ...

  6. “后完美日记”时代,橘朵、花知晓、funnyelves们还有机会吗?

    文|螳螂财经(TanglangFin) 作者|图霖 忙着"吃面""吃点心"的投资者们,似乎真的不爱彩妆了. 从行业融资数量来看,今年,彩妆赛道的投资热度出现了显 ...

  7. 排队两小时买墨茉、虎头局,但别指望年轻人“味蕾忠诚”

    (图片来源于网络,侵删) 文 | 易不二 来源 | 螳螂财经 虽然"面包总会有的",但没准儿你爱吃的那家,一不留神就偷偷关门了. 前段时间,在上海开了22年的宜芝多全部关门了.宜芝 ...

  8. 【渝粤教育】电大中专幼儿园课程论 (10)作业 题库

    作业视频教务托管,壹叁路路贰陆陆壹〇肆〇 下列哪种不是具有代表性的课程定义( ) A.课程即知识 B.课程即目标 C.课程即科目 D.课程即经验 错误 正确答案:左边查询 学生答案:未作答 2.幼儿园 ...

  9. 开源中国 2014 年源创会年度计划

    时光总是从敲代码的指尖不经意地滑过,转眼2014年已快过去一半,OSC依然心怀着最初的梦想. 源创会,oscer的线下快乐大本营,我们仍在继续...... 聆听技术大牛讲解最前沿的技术,和同道中人切磋 ...

最新文章

  1. 如何在一分钟内搞定面试官?
  2. Scanner类的简单用法介绍!
  3. 时序约束基础 和 quartusII 中的设置
  4. olive videoeditor开源跨平台视频编辑器
  5. Android Gradle编译问题
  6. html css浮动标签,12种超酷HTML5 SVG和CSS3浮动标签效果
  7. Flutter实战一Flutter聊天应用(十)
  8. 音频放大电路_集成电路技术汇总:检测技巧
  9. 网络营销之百度营销技巧(一) 百度知道推广日常手册
  10. 微信测试拉黑的软件,如何检测微信里有没有人把你拉黑?教你一招!
  11. 浏览器中输入localhost或者127.0.0.1 打不开求大神教.
  12. 恩智浦智能车电机驱动程序_恩智浦智能车电机驱动-HIP4082+LR7843
  13. python Excel xlsx file; not supported
  14. 第十届蓝桥杯C语言B组题解
  15. android+模拟人体扫描,人体模型模拟器app
  16. 使用HTML5,CSS3和Jquery的老虎机效果
  17. 微信小程序 特殊布局下,页面上拉触底事件onReachBottom无法触发解决方法
  18. 无意间发现一个好用的视频转换gif图片的开源框架
  19. 购物网站的秒杀计时器实现
  20. 过来人对于在校生找工作的一点看法

热门文章

  1. 零基础学python难吗-零基础入门学习Python技术难不难?
  2. python手机版下载-qpython手机版下载
  3. python编程入门必备知识-python基础教程#菜鸟也能看懂的超简单入门必备知识
  4. WTK6900B02语音识别模块,声控模块,语音交互模块,语音识别模块方案-深圳唯创知音电子有限公司...
  5. 蓝桥杯2013c++真题:排它平方数
  6. linux如何查看tomcat端口号,如何在Linux中修改tomcat端口号
  7. 服务器哪种系统最好,云服务器哪种系统好用
  8. pdf电脑地址转网络地址.txt
  9. java判断小数点后是否为0,是的话则取整,不是的话则保留
  10. 【PTA】 PAT乙级真题,95题(C++,AC代码)