题解报告: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的问题,我们不难联想到<主旋律>这一道题 没错,只需要把方程改一 ...
随机推荐
- Java 8中的时间
Java 8中的时间 学习了:https://blog.csdn.net/sun_promise/article/details/51383618
- 树莓派的PWM脉宽调制功能介绍
近期想用树莓派控制航模的电调,于是研究了下PWM.貌似控制电调比較麻烦,由于电调须要发送几个特定的信号启动,然后才干进入控制模式.今天先弄明确PWM,慢慢折腾.以下的程序亲測可用,我用的树莓派mode ...
- 2016/05/13 Thinkphp 3.2.2 ①数据添加 ②收集表单数据入库操作 ③数据修改操作
①数据查询 add() 该方法返回被添加的新记录的主键id值 两种方式实现数据添加 数组方式数据添加 $goods = D(“Goods”); $arr = array(‘goods_name’=&g ...
- 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组
真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳 ...
- 2016/4/1 PDO:: 数据访问抽象层 ? :
①PDO方式连接 数据库 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- jetty9 web app的部署
jetty9将web app和web app的context配置文件都放在${JETTY_HOME}/webapps下面. 例如,如果有一个myapp.war,首先将其放入${JETTY_HOME}/ ...
- POJ3692 Kindergarten —— 二分图最大团
题目链接:http://poj.org/problem?id=3692 Kindergarten Time Limit: 2000MS Memory Limit: 65536K Total Sub ...
- Get started with Sourcetree
Understand the interface Bookmarks window From that window, select the Local or Remote buttons to vi ...
- Magic Grid ComboBox JQuery 版
在MagicCombo组件中嵌入Grid,以支持分页查找和跨页选取 1. 2. [代码][JavaScript]单选示例代码 <script type="text/jav ...
- jQuery 与 AJAX 实现失去焦点验证用户名是否合格
JSP页面 <tr onmouseover="currentcolor=this.style.backgroundColor;this.style.backgroundColor='# ...