九度OJ 1339:ACM (排序)
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:712
解决:379
- 题目描述:
-
今年的ACM世界总决赛快要开始了,需要有一个排名算法来对每支队伍进行现场排名。ACM组委会把这个任务交给了你,相信你一定能很好地完成。
排名规则如下:通过题的数目多的队伍排名靠前,如果有多支队伍过的题的数目相同,则罚时少的队伍排名靠前。
- 输入:
-
输入的第一行包括一个整数N(1<=N<=100),代表参加比赛的队伍的个数。
接下来的N行每行包括一个字符串和两个整数num,punish,它们之间用空格隔开。其中,第一个字符串代表参赛的队伍名称(字符串的长度1<=len<=101),num代表这个学校过了的题目个数(1<=num<=11),punish代表这个学校的罚时(1<=punish<=1000)。
- 输出:
-
请按题目描述的规则对所有队伍进行排序,并按照从高到低的顺序对队伍的名称进行输出。当然可能存在多支队伍,不仅通过题目数量相同,而且罚时相同。虽然这些队伍最后排名是相同的,但是你输出时需要按照队伍名称的字典序进行输出,比如,队伍aa和队伍ba,你需要先输出aa,然后输出ba,因为aa的字典序比ba的靠前。
- 样例输入:
-
4
RealPlayers 3 100
Potatoes 5 30
blue_sky 7 800
3D_magic_cube 5 50
- 样例输出:
-
blue_sky
Potatoes
3D_magic_cube
RealPlayers
思路:
排序题用qsort或者sort都比较简单,主要是注意细节。
代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h> #define N 100 typedef struct node {
char name[105];
int num;
int punish;
} TEAM; int cmp(const void *a, const void *b)
{
TEAM *c = (TEAM *)a;
TEAM *d = (TEAM *)b;
if (c->num != d->num)
return d->num - c->num;
if (c->punish != d->punish)
return c->punish - d->punish;
return strcmp(c->name, d->name);
} int main(void)
{
int n, i;
TEAM t[N]; while (scanf("%d", &n) != EOF)
{
for(i=0; i<n; i++)
scanf("%s%d%d", t[i].name, &t[i].num, &t[i].punish);
qsort(t, n, sizeof(t[0]), cmp);
for(i=0; i<n; i++)
printf("%s\n", t[i].name);
} return 0;
}
/**************************************************************
Problem: 1339
User: liangrx06
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/
九度OJ 1339:ACM (排序)的更多相关文章
- 九度OJ 1066 字符串排序
题目地址:http://ac.jobdu.com/problem.php?pid=1066 题目描述: 输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大小从小到大进行排序,请输出 ...
- 九度OJ 1202:排序 (排序)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:19711 解决:6508 题目描述: 对输入的n个数进行排序并输出. 输入: 输入的第一行包括一个整数n(1<=n<=100). ...
- 【九度OJ】题目1023:EXCEL排序 解题报告
[九度OJ]题目1023:EXCEL排序 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1023 题目描述: E ...
- 【九度OJ】题目1185:特殊排序 解题报告
[九度OJ]题目1185:特殊排序 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1185 题目描述: 输入一系 ...
- 【九度OJ】题目1061:成绩排序 解题报告
[九度OJ]题目1061:成绩排序 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1061 题目描述: 有N个学 ...
- 【九度OJ】题目1202:排序 解题报告
[九度OJ]题目1202:排序 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1202 题目描述: 对输入的n个 ...
- 【九度OJ】题目1190:大整数排序 解题报告
[九度OJ]题目1190:大整数排序 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1190 题目描述: 对N个长度最长可达 ...
- 【九度OJ】题目1196:成绩排序 解题报告
[九度OJ]题目1196:成绩排序 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1196 题目描述: 用一维数组存储学号和成绩,然后 ...
- 九度OJ 1371 最小的K个数 -- 堆排序
题目地址:http://ac.jobdu.com/problem.php?pid=1371 题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4 ...
随机推荐
- D3学习之:D3.js中的12中地图投影方式
特别感谢:1.[张天旭]的D3API汉化说明.已被引用到官方站点: 2.[馒头华华]提供的ourd3js.com上提供的学习系列教程,让我们这些新人起码有了一个方向. 不得不说,学习国外的新技术真的是 ...
- 《Qt on Android核心编程》相关资源
有不少朋友反馈在搭建 Qt on Android 开发环境时遇到了问题,诸如 Android SDK 无法下载. jdk 找不到合适的版本号.创建 AVD 出错等等.为此我把与<Qt on An ...
- Json,String,Map之间的转换
前提是String的格式是map或json类型的 String 转Json JSONObject jasonObject = JSONObject.fromObject(str); String 转 ...
- 怎么关闭win10快速访问功能?关闭Windows10系统快速访问方法
怎么关闭win10快速访问功能?关闭Windows10系统快速访问方法 Windows10系统的"快速访问"功能很容易泄露电脑中的隐私,用什么方法可以让这个功能消失,避免电脑的个人 ...
- MySQL中创建用户分配权限
测试环境:CentOS6.8 和 MySQL5.5.4 一 需求 在项目开发的过程中可能需要开放自己的数据库给别人,但是出于安全的考虑,不能同时开放自己服务器里的其他数据库.那么可以新建一个用户,赋予 ...
- DICOM医学图像处理:WEB PACS初谈二,图像的传输
背景: 如前一篇专栏博文所述,借助于CGI或FastCGI技术转发浏览器发送过来的用户请求,启动本地的DCMTK和CxImage库响应.然后将处理结果转换成常规图像返回到浏览器来实现Web PACS. ...
- 了解.net mvc实现原理ActionResult/View
了解.net mvc实现原理ActionResult/View 上一篇了解了请求至Controller的Action过程,这篇继续看源码处理Action收到请求数据再返回ActionResult到Vi ...
- .NET CORE 2.0小白笔记(四):asp.net core输出中文乱码的问题
问题描述:在学习asp.net core的时候,尝试在控制台,或者页面上输出中文,会出现乱码的问题. 分析解决:控制台乱码的原因是因为中文windows命令行默认编码页是gb2312,想输出中文只要把 ...
- svn hooks使用
最近要将某个目录做samba共享出去,而想通过svn同步文档到svn,然后通过svn hooks 同步到共享目录,实现自动化 现在svn服务器和samba server再同一台机器上: 在svn路径下 ...
- CentOs上搭建nginx
目录 CentOs上搭建nginx 1. 在root环境下安装nginx 1.1 常用工具安装 1.2 关闭iptables规则 1.3 关闭SELinux 1.4 安装C/C++环境和PCRE库 1 ...