期末考试--nyoj-757
期末考试
- 输入
- 输入n,表示n门功课(n<2000),接下来n行,每行两个数a,b,分别表示交作业的最后期限,迟交扣除的分数。
(以文件结尾) - 输出
- 输出扣除的最小分数。
- 样例输入
-
3
3 10
3 5
3 1
3
1 6
3 2
1 3
7
1 3
4 2
6 1
4 7
2 6
4 5
3 4 - 样例输出
-
0
3
5 这个题我做的时候这是一头雾水,看了网上的代码才知道该怎么写!下面把我的想法给大家说一下! 分析:
你首先要对日期进行排序,要是没有重复的日期就好了,一天一个,这肯定挂不了科啊!。有也没事,先按日期从小到大,有重复日期的,按分值的从小到大排序。
排好后,我们本着一天一个的原则,当遇到重复日期的时候就要有所取舍了,那肯定是不要分值少的啊,所以就和前面最小的比较,看哪个更小,就不复习了分数不要了!
不要的分数加起来就是最小的了!这个题就是要利用优先队列了!因为它能自动排序,省下不少事!#include<stdio.h>
#include<queue>
#include<algorithm>
using namespace std;
struct as
{
int x;
int y;
}aa[];//定义一个存放输入数据的结构体
bool cmp(as m,as n)//定义结构体排序的顺序
{
if(m.x<n.x)
return true;
else if(m.x==n.x&&m.y<n.y)
return true;
return false;
}
int main()
{
int n;
priority_queue<int ,vector<int>,greater<int> >s;//定义一个队列
while(scanf("%d",&n)!=EOF)
{
int i;
while(!s.empty())
s.pop();//清空队列
for(i=;i<n;i++)
scanf("%d %d",&aa[i].x,&aa[i].y);
sort(aa,aa+n,cmp);//排序
int sum=;
for(i=;i<n;i++)
{
if(s.size()<aa[i].x)//这里的是s.size()可以看成已经用的天数,进入队列一个数据就花一天时间
s.push(aa[i].y);
else
{
if(aa[i].y>s.top())比较和队首元素的大小(因为现在队首已经是最小的了),如果当前更小,就舍去当前的这门学科
{
sum+=s.top();
s.pop();
s.push(aa[i].y); }
else
sum+=aa[i].y;
}
}
printf("%d\n",sum);
}
return ;
}
期末考试--nyoj-757的更多相关文章
- nyoj 757 期末考试【优先队列+贪心】
期末考试 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 马上就要考试了,小T有许多作业要做,而且每个老师都给出来了作业要交的期限,如果在规定的期限内没 交作业就会扣 ...
- 复旦大学2015--2016学年第二学期高等代数II期末考试情况分析
一.期末考试成绩班级前几名 胡晓波(90).杨彦婷(88).宋卓卿(85).唐指朝(84).陈建兵(83).宋沛颖(82).王昊越(81).白睿(80).韩沅伯(80).王艺楷(80).张漠林(80) ...
- 复旦大学2014--2015学年第二学期(14级)高等代数II期末考试第八大题解答
八.(本题10分) 设 $A,B$ 为 $n$ 阶半正定实对称阵, 求证: $AB$ 可对角化. 分析 证明分成两个步骤: 第一步, 将 $A,B$ 中的某一个简化为合同标准形来考虑问题, 这是矩 ...
- 复旦大学2015--2016学年第一学期高等代数I期末考试情况分析
一.期末考试成绩班级前几名 胡晓波(93).宋沛颖(92).张舒帆(91).姚人天(90).曾奕博(90).杨彦婷(90).白睿(88).唐指朝(87).谢灵尧(87).蔡雪(87) 二.总成绩计算方 ...
- 复旦大学2014--2015学年第二学期高等代数II期末考试情况分析
一.期末考试成绩班级前几名 钱列(100).王华(92).李笑尘(92).金羽佳(91).李卓凡(91).包振航(91).董麒麟(90).张钧瑞(90).陆毕晨(90).刘杰(90).黄成晗(90). ...
- 复旦大学2014--2015学年第一学期高等代数I期末考试情况分析
一.期末考试成绩班级前几名 金羽佳(92).包振航(91).陈品翰(91).孙浩然(90).李卓凡(85).张钧瑞(84).郭昱君(84).董麒麟(84).张诚纯(84).叶瑜(84) 二.总成绩计算 ...
- 复旦大学2016--2017学年第一学期高等代数I期末考试情况分析
一.期末考试成绩班级前十名 宁盛臻(100).朱民哲(92).徐钰伦(86).范凌虎(85).沈伊南(84).何陶然(84).丁知愚(83).焦思邈(83).董瀚泽(82).钱信(81) 二.总成绩计 ...
- 2012 B 中国近现代史纲要》课程期末考试试卷
湖南人文科技学院2013年3月公共课 2011级<中国近现代史纲要>课程期末考试试卷B 考核方式:(开卷) 考试时量: ...
- 2012 A 《中国近现代史纲要》课程期末考试试卷
湖南人文科技学院2012—2013学年第1学期公共课 2011级<中国近现代史纲要>课程期末考试试卷 考核方式:(开卷) ...
随机推荐
- 用实例一步步教你写Jquery插件
最近Web应用程序中越来越多地用到 了JQuery等Web前端技术.这些技术框架有效地改善了用户的操作体验,同时也提高了开发人员构造丰富客户 端UI的效率.JQuery本身提供了丰富的操作,但是,有时 ...
- 基于VMware的eCos应用程序测试(hello wold)
(1)脚本配置ecosconfig new pccdl_component CYG_HAL_STARTUP { # Flavor: data # No user value, uncomment th ...
- 基于cygwin构建u-boot(二)gcc的C语言标准版本号(-std=)
接上文,修改Makefile和config.mk中,.depend相关文件格式后继续编译. 四.tools文件夹的文件编译错误 错误告警如下[多行信息,请使用右侧滚动条查看]: gcc -Wall - ...
- Pubwin服务端重装(安装)教程
此博文已移至爬不稳独立博客:www.pubwin2009.net传送门:http://www.pubwin2009.net/index.php/post/6.html 一,卸载原来服务端和数据库. 1 ...
- 阿里巴巴JAVA常考面试题及汇总答案
一.String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的? 答: 1.String是字符串常量,StringBuffer和StringB ...
- POJ Find The Multiple 1426 (搜索)
Find The Multiple Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 22576 Accepted: 929 ...
- ubuntu Python2.7 安装PIL问题
$sudo easy_install PIL WARNING: '' not a valid package name; please use only.-separated package name ...
- Qt之窗口动画(下坠、抖动、透明度)(还有好多相关帖子)
简述 前面几节中我们介绍了关于动画的基本使用,有属性动画.串行动画组.并行动画组.这节我们来实现一些特效,让交互更顺畅. 简述 示例 效果 源码 更多参考 示例 下面,我们以geometry.pos. ...
- noip2014总结
noip总结 经过七周的停课,我们终于迎来了期盼已久的noip考试.在这一次的noip考试中,我们经历了很多,也收获了很多.当然这一次考试中也有很多值得总结的地方,特写此总结. 这一次考试考得还不错, ...
- Gradle+Jetty实现静态资源的热部署
本文转自http://www.cnblogs.com/huang0925/p/3302487.html --------------------------------------- 通过Gradle ...