菠萝的成绩单(结构体快排)
来源:互联网 发布:centos 7中文输入法 编辑:程序博客网 时间:2024/04/27 20:28
考完试以后,菠萝获得了一个含有 n 个成绩的成绩单,他要把成绩按照从高到低排序,如果成绩相同则按照学生编号从小到大排序。
老师为了检验菠萝是否把成绩排序对了,会询问前 m 高的成绩及该学生的编号,你能帮菠萝回答老师的询问吗?
Input
输入数据有多组(数据组数不超过 10),到 EOF 结束。
对于每组数据:
第一行输入成绩的个数 n 以及 m (1 <= n <= 100000, 1 <= m <= n)
接下来的 n 行,每行输入 2 个正整数,分别为学生编号 id (1 <= id <= n),成绩 ai (1 <= ai <= 10000)
当 n 和 m 同时为 0 时结束程序。
Output
对于每组数据:
第一行输出 “Case #x:” (输出不包括引号,且冒号后无空格),x 表示当前为第几组数据
之后输出 m 行。每行格式按照 “编号 成绩” 的格式输出
Example Input
3 1
1 1
2 2
3 3
5 3
4 2
2 2
1 1
3 3
5 2
0 0
Example Output
Case #1:
3 3
Case #2:
3 3
2 2
4 2
请大家仔细核对 “Case #x:”,建议复制样例输出的模式以防输出时不符合题目要求而导致的 Wrong Answer。
数据量较大,请使用高效排序算法。
结构体快排示例:
int cmp(Node c, Node d){ if(c.money!=d.money) return c.money > d.money; //从大到小 else if(c.bag!=d.bag) return c.bag > d.bag; else return c.num < d.num; //从小到大}sort(node,node+n,cmp);
代码如下
#include<bits/stdc++.h>using namespace std;struct node{ int id,ai;}a[100001],q;int cmp(node w,node e){ if(w.ai!=e.ai) return w.ai>e.ai; else return w.id<e.id;}int main(){ int i,j,k; int c=0; int n,m; while(~scanf("%d%d",&n,&m)&&n&&m) { c++; for(i=0;i<n;i++) { scanf("%d%d",&a[i].id,&a[i].ai); } sort(a,a+n,cmp); //超时,没有看见数据量 /*for(i=0;i<n;i++) { k=i; for(j=i+1;j<n;j++) { if(a[k].ai<a[j].ai) k=j; else if(a[k].ai==a[j].ai&&a[k].id>a[j].id) k=j; } if(k!=i) { q=a[i]; a[i]=a[k]; a[k]=q; } }*/ printf("Case #%d:\n",c); for(i=0;i<m;i++) printf("%d %d\n",a[i].id,a[i].ai); } return 0;}
阅读全文
0 0
- 菠萝的成绩单(结构体快排)
- 菠萝的成绩单
- 菠萝的成绩单--多元素快排
- 卖菠萝的女人
- 成绩单(结构体初体验)
- 女儿的成绩单(搞笑)
- 结构体输出成绩单
- 01-成绩单链式结构
- [008]菠萝咕老肉的做法(全程图)
- 1379 大菠萝II的符文
- 关于公司保卫菠萝的技术分析
- 带姓名的成绩单(不要挂科啊)
- 带姓名的成绩单(字符串版)
- 15带姓名的成绩单(1)
- 编程:带姓名的成绩单(1)
- 编程:带姓名的成绩单(2)
- 大菠萝实习日记(1)
- 我的成绩单
- 电机驱动电路总汇
- iOS 算法面试题(打印2-100之间的素数、求两个整数的最大公约数、查找字符串的位置)~demo
- python学习之函数的参数
- angular4开发环境搭建以及项目启动过程
- CodeForces 703D Mishka and Interesting sum
- 菠萝的成绩单(结构体快排)
- 解决x64机器上IE11版本使用IEDriverServer在输入英文/数字很慢的问题
- 学习solidity的一个简单智能合约(1)——投票
- Angular.js基本知识
- 洗牌算法:数组乱序
- 邝斌的ACM模板(随机素数测试和大数分解(POJ 1811) )
- javascript50---数组
- Ajax在IE上做轮询时setInterval方法只执行一次
- CSS盒子模型