箭无虚发

Time Limit: 1000 MS Memory Limit: 65536 KB
Total Submissions: 128 Accepted: 21

Description

JH苦练10年,终于成为了一个神箭手,在下山之前,大师兄YZ不放心,想考验他,只给他一定时间t,同时给他n支箭,最终根据他的表现,考虑他是否能下山。

对于每发一次箭,YZ给他4种成绩(优、良、中、差),JH有三种拉弓以及瞄准时间a ,b,c(a>=b>=c)分别能拿优,良,中等级,如果不拉弓不瞄(直接射),只能拿差(不能中靶)了。

现在JH想知道,在保证自己弹无虚发(不获得差)的情况下,最多能拿多少个优。

如果JH不能做到弹无虚发,输出Oh,my god!

Input

输入数据包含T组:

对于每组数据,第一行为一个整数n,表示总共有n支箭。

(0<n<=1000)

之后n行,每行包含三个数字a,b,c,分别表示拿对应等级所需要花的时间。

(0<c<=b<=a<=1000)

之后一个数字t,表示JH有考核总时间为t

(0<=t<=1e6)

Output

对于每组输入,如果JH能箭无虚发,则输出一个数字x,表示最多能拿到的优的数量。如果不能,则输出Oh,my god!

Sample Input

3
1
3 2 1
1
2
3 2 1
3 2 1
4
2
3 2 1
3 2 1
1

Sample Output

0
1
Oh,my god!
题解:这道题在做的时候就用到一些技巧了,其实成绩良在此题内属于多余条件,得优的时间>得中的时间。
所以一开始全部得中,得到最小花费的时间,如果此时间都大于考核的时间,那么必定会得差
然后用贪心法依次往里加一个优试试,如果满足则加入,所以会按得优的时间减去得中的时间a.a-a.c排序,这样保证每次添加进去最小的时间,直到结束或超过考核时间
最后就会得出答案了
#include <iostream>
#include <cstdio>
#include <algorithm>using namespace std;struct J
{int a, b, c;
}a[1002];bool cmp(J a, J b)
{return a.a - a.c < b.a - b.c;
}int main(int argc, char const *argv[])
{int T, n, t, s;scanf("%d", &T);while (T--){s = 0;scanf("%d", &n);for (int i=0; i<n; i++) {scanf("%d%d%d", &a[i].a, &a[i].b, &a[i].c);s += a[i].c;}scanf("%d", &t); //如果全得“中”的时间(最小花费)>考核时间,就不能做到箭无虚发if (s > t) printf("Oh,my god!\n");else {sort(a, a+n, cmp);//排序用到技巧,(得优的时间-得中的时间)按升序排序int cnt = 0;for (int i=0; i<n; i++) {if (s - a[i].c + a[i].a <= t) {s = s - a[i].c + a[i].a;//加一个优并减去一个中的时间,贪心策略cnt++;}else break;}printf("%d\n", cnt);}}return 0;
}

安徽省2016“京胜杯”程序设计大赛_C_箭无虚发相关推荐

  1. HFUT 1357.梯田AGAIN(安徽省2016“京胜杯”程序设计大赛 D)

    梯田AGAIN Time Limit: 1000 MS Memory Limit: 65536 KB Total Submissions: 23 Accepted: 8 Description 大家还 ...

  2. 安徽省2016“京胜杯”程序设计大赛_K_纸上谈兵

    纸上谈兵 Time Limit: 1000 MS Memory Limit: 65536 KB Total Submissions: 3 Accepted: 1 Description     战国时 ...

  3. 安徽省2016“京胜杯”程序设计大赛_J_YZK的大别墅

    YZK的大别墅 Time Limit: 1000 MS Memory Limit: 65536 KB Total Submissions: 24 Accepted: 12 Description 土豪 ...

  4. 安徽省2016“京胜杯”程序设计大赛_D_梯田AGAIN

    梯田AGAIN Time Limit: 5000 MS Memory Limit: 65536 KB Total Submissions: 95 Accepted: 21 Description 大家 ...

  5. 吉首大学第七届“新星杯”程序设计大赛---补题概况

    吉首大学第七届"新星杯"程序设计大赛---补题http://120.78.162.102/contest.php?cid=1332 先来发图片...(唉...AC九道,就A不动了, ...

  6. 我校第一届“达内杯”程序设计大赛决赛成功举办

    4月17日晚七点,江苏理工学院第一届"达内杯"程序设计大赛决赛如期举行.本次大赛由江苏理工学院csdn高校俱乐部举办,达内集团无锡总部全程赞助.本次大赛吸引了全院大一.大二.大三七 ...

  7. 重庆11中学校计算机比赛,重庆大学第十七届“树声前锋杯”程序设计大赛成功举办...

    为培育拔尖创新人才,推进"新工科"专业建设和"双一流"建设,加强学生创新创业教育,培养学生创新精神和实践能力,共青团重庆大学委员会.教务处.党委学生工作部.计算 ...

  8. 【蓝桥杯程序设计大赛感想】 一路艰辛 一路收获

    故事开始: 2014年来到大学,第一时间就听闻蓝桥杯,再听闻这个比赛全国总决赛的比赛地点是北京,我内心中瞬间涌现出一个信念:北京我是去定的了! 我中职读的是计算机网络专业,期间自学了C语言,怀着试一试 ...

  9. 2016湘潭大学“长城信息杯”程序设计邀请赛总结

    一篇迟到的总结 Created at  2016-6-10,12:10; 本人作为一枚大一菜鸟有幸参加2016年度中南地区程序邀请赛(名字好霸气的样子),按理来说学校的不会派这么水的队伍参赛的,可能是 ...

最新文章

  1. getGeneratedKeys自动获取主键的方法
  2. Delphi、C#之父Anders Hejlsberg首次访华 推广TypeScript
  3. PHP大法——实验吧
  4. Oracle实例迁移_真实场景实操
  5. 具备白名单、黑名单的Filter基类扩展
  6. ORA-00257+mysql_ORA-00257错误的解决办法
  7. AI算力霸主诞生!英伟达发布首款安培架构GPU,性能提升20倍
  8. linux应用对物理内存映射,深入理解Linux内存映射机制 (1)
  9. 中国电子学会c语言考试题库,计算机基础考试试题及答案
  10. 我在b站学数据库 (九):函数
  11. java 导出压缩文件,IO流非正常关闭引起的“不可预料的压缩文件末端”的解决办法
  12. Linux 5300AGN网卡驱动,t400 wifi link 5100 AGN linux驱动安装
  13. mysql定时任务,把7天的数据存到历史表,再删除7天前的数据
  14. base64字符串转化成图片
  15. 腾讯云TDSQL监控库密码忘记问题解决实战
  16. 浅谈机器学习之深度学习
  17. VS2010下设置win32/win64,编译出不同平台程序版本
  18. 探究下疯狂动物城Zootopia为何如此高分的原因
  19. IOS APP 上了APPStore以后怎么修改搜索关键字
  20. 十大云服务器服务商评测\排名

热门文章

  1. Java中cvc是什么意思_什么叫自然拼读cvc组合- cvc和cvce单词的区别
  2. 100个经典C语言程序(益智类)
  3. 当神话故事邂逅 NFT数字藏品:知名艺术家张宏携《西游》拉开元宇宙序幕
  4. 【资源帖】漏洞平台(国内外)+企业SRC整理-持续更新
  5. [MongoDB] 运维相关操作记录
  6. 算法简介:不撞南墙不回头----深度优先搜索算法(DFS)
  7. Android Apk瘦身方案1——R.java文件常量内联
  8. 非系统APK很多权限受限制,如何让APK成为系统APK
  9. AutoGluon处理多模态数据方法及案例——Multimodal Data Tables: Tabular, Text, and Image
  10. [Linux] 添加清华镜像