九度OJ 1346:会员积分排序 (排序)
2015-11-30 19:29
351 查看
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:967
解决:413
题目描述:
元旦佳节快到了,超市A想要给会员一些奖品。但是奖品有限,所以它需要给这些会员做一个排序,然后将名单输出来。排序的规则是,先按积分排序,如果会员的积分相同则按他的ID排序,因为ID号小则表示他注册的时间早。
现在某超市有每个会员的ID(ID保证不重复)、积分,它想要请你帮忙给排个序。
输入:
输入有多组数据。
每组第一行输入n(1<=n<=1000),m(1<=m<=50),n表示会员个数,m表示奖品个数;之后N行分别是两个整数id和s,id为这个会员的ID,s代表了这个会员的积分。
输出:
对每组输入输出min(m,n)个获奖的会员ID(按积分降序输出,如果积分相同按ID升序输出),每个会员ID一行。
样例输入:
样例输出:
代码:
内存限制:32 兆
特殊判题:否
提交:967
解决:413
题目描述:
元旦佳节快到了,超市A想要给会员一些奖品。但是奖品有限,所以它需要给这些会员做一个排序,然后将名单输出来。排序的规则是,先按积分排序,如果会员的积分相同则按他的ID排序,因为ID号小则表示他注册的时间早。
现在某超市有每个会员的ID(ID保证不重复)、积分,它想要请你帮忙给排个序。
输入:
输入有多组数据。
每组第一行输入n(1<=n<=1000),m(1<=m<=50),n表示会员个数,m表示奖品个数;之后N行分别是两个整数id和s,id为这个会员的ID,s代表了这个会员的积分。
输出:
对每组输入输出min(m,n)个获奖的会员ID(按积分降序输出,如果积分相同按ID升序输出),每个会员ID一行。
样例输入:
5 3 1 5 2 10 3 3 4 20 5 2
样例输出:
4 2 1
代码:
#include <stdio.h> #include <stdlib.h> #define N 1000 #define M 50 struct node { int id; int score; } a ; int cmp(const void *a, const void *b) { struct node *c = (struct node *)a; struct node *d = (struct node *)b; if (c->score != d->score) return d->score - c->score; else return c->id - d->id; } int main(void) { int n, m, i; while (scanf("%d%d", &n, &m) != EOF) { for(i=0; i<n; i++) scanf("%d%d", &(a[i].id), &(a[i].score)); qsort(a, n, sizeof(a[0]), cmp); for (i=0; i<((n<m)?n:m); i++) printf("%d\n", a[i].id); } return 0; } /************************************************************** Problem: 1346 User: liangrx06 Language: C Result: Accepted Time:100 ms Memory:920 kb ****************************************************************/
相关文章推荐
- hdu 2181 哈密顿绕行世界问题
- 九度OJ 1346:会员积分排序 (排序)
- hadoop中HDFS文件系统常用命令:
- hadoop中HDFS文件系统常用命令:
- 阿里云主机免费申请级网站配置
- 列表视图(ListView)——BaseAdapter
- 找不到或无法加载主类(Exception in thread "main
- 杭电oj-1170-Balloon Comes!
- OpenCV笔记(三)
- Android短信----发送流程---框架层(Frameworks)
- XCTest/XCTest.h not found on old projects built in Xcode
- 程序员学英语--本该有的英语学习
- 大鱼吃小鱼游戏-ane.js
- 阿里云主机免费申请级网站配置
- servlet与jsp的区别(转)
- UI基础
- cocoapods安装使用——新系统新版本——完整版
- spring中classpath和classpath*的配置区别
- 博客字体格式
- IOS之--UI进阶--多控制器管理第一天