题解报告:hdu 2093 考试排名
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2093

若每次错误提交的罚分为20分,则其排名从高到低应该是这样的:
#include <bits/stdc++.h>
#define MAXN 10001
using namespace std;
struct node
{
char name[];//用户名
int ac;//ac的题目数量
int time;//总共花的时间
}stu[MAXN];//参加比赛的人数
bool cmp(node x,node y)//结构体排序规则
{
if(x.ac!=y.ac)return x.ac>y.ac;//先按ac的题量从大到小排
else if(x.time!=y.time)return x.time<y.time;//再按时间从小到大排
else return strcmp(x.name,y.name)<;//最后是按字典序排名
}
int main()
{
int n,m,t=;//n为考试题数,m为单位罚分数,t表示参赛人员的序号标记
char ch[];//输入每个题的得分情况
cin>>n>>m;
getchar(); //吃掉回车符
while(cin>>stu[t].name){//不断输入参赛人员的比赛信息
stu[t].ac=stu[t].time=;//同时初始化为0,下面进行计算
for(int i=;i<n;i++){ //循环读个n个题目的比赛情况
cin>>ch;
if((ch[]=='-')||(strcmp(ch,"")==))continue;//等于负数或为0,说明没有AC,直接进行下一个输入
stu[t].ac++;//AC了就先计数,接下来算AC这道题所用的时间
int j,tmp=;
for(j=;j<(int)strlen(ch)&&ch[j]!='(';j++)
tmp=tmp*+ch[j]-'';//先计算左括号旁边的数字
stu[t].time+=tmp;//先加解题所用的时间
tmp=;
if(j<(int)strlen(ch)){
for(int k=j+;k<(int)strlen(ch)-;k++) //计算括号内的数
tmp=tmp*+ch[k]-'';
}
stu[t].time+=tmp*m;//加上(之前错误提交次数乘上罚时总用时)
}
t++;//计数参赛人数
}
sort(stu,stu+t,cmp); //按规则排序
for(int i=;i<t;i++) // 输出排名信息
printf("%-10s %2d %4d\n",stu[i].name,stu[i].ac,stu[i].time);//按格式输出
return ;
}
题解报告:hdu 2093 考试排名的更多相关文章
- HDU——2093考试排名(string类及其函数的运用以及istringstream)
考试排名 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- HDU 2093 考试排名 模拟题
解题报告: 题目描述:写一个程序给一个编程考试C++实时提交系统排名,给你的数据是题目的总数,每次错误提交罚的时间分,每位用户的姓名,然后是输入用户每题的完成情况,有一下几种情况,第一,输入只有一个正 ...
- HDOJ(HDU) 2093 考试排名(Arrays.sort排序、类的应用)
Problem Description C++编程考试使用的实时提交系统,具有即时获得成绩排名的特点.它的功能是怎么实现的呢? 我们做好了题目的解答,提交之后,要么"AC",要么错 ...
- hdu 2093 成绩排名
思路: 没啥思路,就是定义结构体,跟题目,走,当时没想到对那个括号的处理,后面看了题解,才知道用个getchar直接判断 算是一个值得思考的点. 代码: #include<bits/stdc++ ...
- 题解报告:hdu 1398 Square Coins(母函数或dp)
Problem Description People in Silverland use square coins. Not only they have square shapes but also ...
- 题解报告:hdu 2069 Coin Change(暴力orDP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2069 Problem Description Suppose there are 5 types of ...
- 题解报告:hdu 1028 Ignatius and the Princess III(母函数or计数DP)
Problem Description "Well, it seems the first problem is too easy. I will let you know how fool ...
- 2015浙江财经大学ACM有奖周赛(一) 题解报告
2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...
- cojs 强连通图计数1-2 题解报告
OwO 题目含义都是一样的,只是数据范围扩大了 对于n<=7的问题,我们直接暴力搜索就可以了 对于n<=1000的问题,我们不难联想到<主旋律>这一道题 没错,只需要把方程改一 ...
随机推荐
- 主成分分析(principal components analysis)
http://www.cnblogs.com/jerrylead/tag/Machine%20Learning/ PCA的思想是将n维特征映射到k维上(k<n),这k维是全新的正交特征.这k维特 ...
- 《The Swift Programming Language》的笔记-第27页
页 1 type safelanguage 本页的主要内容是说swift语言是"类型检查"的安全型编程语言.意思是赋值语句的左值和右值的类型要一致,左值声明是string型变量那么 ...
- Zookeeper开发常见问题
背景与目的 Zookeeper开发过程中遇到一些常见问题,为了后续开发不犯同样的错误,总结一下此类问题,并进行分析和解决. 适合人员 主要适合zookeeper开发.测试及运维相关人员. 问题与解决 ...
- InnoDB: Error: io_setup() failed with EAGAIN after 5 attempts
在一台server中以各数据库的备份文件为数据文件启动多个MySQL实例供SQL Review使用. 之前执行一直没有问题(最多的时候有23个MySQL实例同一时候执行).后来新配置了一台server ...
- OFbiz实体引擎
安全可靠的数据存储是数据管理战略的关键业务,OFbiz认真对待数据管理.不把全部繁琐和easy出错的数据管理任务留给应用开发人员.OFbiz在设计和实现阶段非常好的贯彻了这个理念. 实体引擎是数据库无 ...
- 数据库建表参考(SQL Server)
(1).字段设置为Not Null+Default Value.原因:减少三值判断,可为Null的字段要多判断null:另外,定长字段为null也占空间,变长字段为空字符串也是不占空间,所以设置成 ...
- MVC+ZTree大数据异步树加载
实例部分: 首先是为ZTree提供的数据规范,定义一个标准的接口,这样对于前台调用是清楚的,简单的,因为它返回的JSON数据将与ZTree默认的数据元素保持一致 /// <summary> ...
- Dos下同时执行多条命令简化操作
起因,要查询8080端口被哪些程序占用了,但是直接在cmd netstat –ano 的话 一下子一大把数据出来了不利于查找, 于是就想起dos下可以同时指向多条命令,如是写下如下命令: netsta ...
- 内存充足,但是为什么hadoop3无法启动nodemanager
[root@hadoop3 hadoop]# xloStarting namenodes on [hadoop3]上一次登录:三 12月 27 16:06:01 CST 2017pts/24 上Sta ...
- 强大的DataGrid组件[7]_自定义DataGrid——Silverlight学习笔记[15]
基本知识讲解 1)两种状态 DataGrid的单元格的状态有两类,即编辑状态和非编辑状态. 在实际开发中,如果一个单元格所在的列不设为只读的话(即要求可读写),那么这个单元格就存在这两种状态.按需要, ...