火影忍者之~静音
Time Limit: 1000 MS Memory Limit: 32767 K
Total Submit: 246(58 users) Total Accepted: 76(54 users) Rating:  Special Judge: No
Description

传说中的火之国一年一度的公务员选拔又开始了!木叶忍者村此次也要从中选拔出5人来,作为即将上任的新火影纲手的小弟~,可是报考公务员的人数实在是太~~多啦!所以纲手的贴身随从—静音小姐,决定对这写人进行分m批的选拔,每次笔试n人,第一次选出5人,之后每次从这n人与之前参加笔试但未选中的人一起再选出分数最高的5人,如果分数相同则按名字的字典序选择,这样下来可以刷掉一大批人,但纲手只需要5人,这时候就轮到静音小姐的跟班小弟--卡卡西,来将这些人再进行二次筛选,卡卡西决定对这些人进行忍术测试,然后选出前5名,作为最后选出的人选,如果忍术分数相同,那么名字字典序靠前的被选中。

Input
首先是整数m和n,表示要进行m波笔试,每波n人,然后是m组,每组n行,每行包括一个字符串与两个整数,表示一个人的名字和他的笔试分数以及他的忍术分数。输入到文件结束,m<=100,n<=100名字不长于20,分数不超过100.
Output
按顺序输出最后选出的5人的名字,每个名字占一行。(第一次选择的时候不需要考虑忍术成绩,第二次选择也不需要考虑笔试成绩)
Sample Input

1 6

abc 10 20

bcd 20 30

cde 30 40

def 40 50

efg 50 60

fgh 60 70

Sample Output

fgh

efg

def

cde

bcd

Source
2012 Spring Contest 3 - STL
Author
拂晓

题目大意:中文题意。

思路:输入进来m组每组n个人笔试的时候,我们使用优先队列模拟排序,每次取出前五个人加入一个数组里边,最后sort排序即可。注意字典序排序。

AC代码;

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<queue>
using namespace std;
struct zuobiao
{char name[25];int bishi;int renshu;friend bool operator <(zuobiao a,zuobiao b){if(a.bishi!=b.bishi)return a.bishi<b.bishi;if(a.bishi==b.bishi) return strcmp(a.name,b.name)>0;}
}now,ruxuan[1000];
int cmp(zuobiao a,zuobiao b)
{if(a.renshu!=b.renshu)return a.renshu>b.renshu;else return strcmp(a.name,b.name)<0;
}
int main()
{int m,n;while(~scanf("%d%d",&m,&n)){priority_queue<zuobiao>s;int cont=0;for(int i=0;i<m;i++){for(int j=0;j<n;j++){scanf("%s%d%d",now.name,&now.bishi,&now.renshu);s.push(now);}for(int j=0;j<5&&!s.empty();j++){now=s.top();s.pop();ruxuan[cont++]=now;}}sort(ruxuan,ruxuan+cont,cmp);for(int i=0;i<5&&i<cont;i++){printf("%s\n",ruxuan[i].name);}}
}
/*
1 6
abc 10 20
bcd 10 30
cde 10 40
def 10 50
efg 10 60
fgh 10 70
*/

hrbust 1313 火影忍者之~静音【优先队列STL+模拟】相关推荐

  1. HRBUST 1313 火影忍者之~静音

    优先队列. 每次将$n$个人压入优先队列,取出$5$个,最后排序. #include<cstdio> #include<cstring> #include<cmath&g ...

  2. HDU Problem - 6396 Swordsman(优先队列,模拟)

    题目链接 Problem Description Lawson is a magic swordsman with kkk kinds of magic attributes v1,v2,v3,-,v ...

  3. C++ STL : 模拟实现STL中的关联式容器unordered_map/unordered_set

    目录 unordered_map/unordered_set unordered_map/unordered_set与map/set的区别 底层哈希桶的改造 仿函数 Key值的获取方法 hash(ke ...

  4. 1/22 测试一(STL 模拟 贪心)C.(贪心,给出气球,输出最好成绩)Contest Balloons

    1/22 测试一(STL 模拟 贪心) C.(贪心,给出气球,输出最好成绩)Contest Balloons One tradition of ACM-ICPC contests is that a ...

  5. HRBUSTOJ 1313 火影忍者之~静音 【模拟】【排序】

    火影忍者之-静音   Time Limit: 1000 MS Memory Limit: 32767 K Total Submit: 410(92 users) Total Accepted: 113 ...

  6. UVA-11995(STL+模拟)附讲解

    题目传送门 题目大意 给一个"包"(某种数据结构)输入一些数据,然后又从中取出一部分,根据这些数据判断这个"包"是哪种数据结构,对应输入"stack& ...

  7. STL模拟实现1.0 -- list和iterator模拟实现和简单分析

    引言 C ++ 标准模本库<STL>中有很多优秀的代码实现,不然怎么能叫做C++标准模板库呢,其中一个实现就是有一个容器,叫做list.所谓容器其实就是存储相同类型数据的一个存储集合,li ...

  8. C++ STL : 模拟实现STL中的容器适配器priority_queue

    目录 priority_queue 文档介绍 实现思路 思路 仿函数 实现 priority_queue 文档介绍 文档介绍 优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含 ...

  9. C++ STL : 模拟实现STL中的容器适配器stack和queue

    目录 什么是容器适配器 stack stack的文档介绍-(来自cplusplus) stack的实现 queue queue的文档介绍-(来自cplusplus) queue的实现 什么是容器适配器 ...

最新文章

  1. SpringCloud与Docker微服务架构实战pdf
  2. Item 36. Class-Specific Memory Management
  3. bmp文件数字水印c语言,[求助]C语言 bmp文件加上水印
  4. 关于VMware虚拟机的上网
  5. 全国大型水库水情数据汇总2018
  6. 实现拖拽上传文件的一款小控件——dropzone
  7. C++---内联函数与宏
  8. JavaScript学习记录总结(十)——几个重要的BOM对象
  9. html菜鸟教程zoom,插件 jQuery.panzoom 中文API文档
  10. 掌握STC单片机程序烧录方法只需要三步走
  11. 为什么要学习现代控制理论(机器人方向)?
  12. 用Python批量修改文件名称
  13. Theme Holo
  14. 阿里企业邮箱使用第三方客户端同步邮件的坑
  15. 平均指标指数与平均数指数的区别
  16. 微笑哥,工作快乐感与快乐企业文化
  17. 数据量再大也不怕!笔记本电脑也可以分析 100GB 数据
  18. CV_shortcomings of original GAN
  19. 如人饮水,冷暖自知。
  20. hdu 1114 完全背包

热门文章

  1. SpringBoot系列之(二):2.注解
  2. 从前端技术到体验科技(附演讲视频)
  3. fota 差分包_艾拉比FOTA差分升级助力电力厂商加速软件迭代
  4. 惠普触控板使用指南_惠普笔记本关闭触摸板【操作思路】
  5. (1)在ensp上面进行静态路由和默认路由测试(直接上手)
  6. SQL service基础(二)对数据指定列查询、条件查询、查询结果排序、聚集函数查询、分组统计查询
  7. 吴恩达:22张图全解深度学习知识!
  8. 【重点】心田花开:三年级教材知识点汇总
  9. Python学习:简单的python “hello,world”程序
  10. iPhone音频开发之:转换和录音(第二部分)