[ACM_数据结构] 竞赛排名
比赛排名
Time Limit:1000MS Memory Limit:32768K
Description:
欢迎参加浙江工业大学“亚信联创杯”程序设计大赛,本次竞赛采用与 ACM/ICPC 相同的排名规则。也就是说,首先按照在规定时间内,做出的题数进行排名。如果多支队伍解题数目相同,则根据总用时加入惩罚时间进行排名。总用时和惩罚时间由每道解答正确的试题的用时加上惩罚时间而成。每道试题用时将从竞赛开始到试题解答被判定为正确为止,其间每一次错误的运行将被加罚20分钟时间,未正确解答的试题不计时。
现在,我们得到了每支队伍的提交情况,你的任务就是给出排序后的结果。
Input:
只有一组数据,第一行为一个正整数 N (N <= 200) 。接下来 N 行,每行以一个队名开始,没有两个队的队名相同。这一行剩下的是该队正确提交时间和错误次数。一个负数表示该题未通过,一个非负数表示通过该题的时间,A(B) 表示通过时间为A,且之前错误过B次。
Output:
顺序输出队伍,每行由队名、解题数和总时间,并用一个空格隔开。
Sample Input:
10
实验班1124王志鹏 2(1) 27(1) 36(1) 43 13 -2 19 89(1) 16
实验班1826赵扬 2 -3 50 136(2) 3 -1 20(1) 73(2) 17
健行理0118汪伟 0 20 130 41(1) 3 123(3) 23 149(1) 6
实验班0222肖健伟 3 73(1) 41 50(1) 53 -5 88 105 109
友情备用账号8 3 -2 67(1) 59 11 18 53 13
实验班0708郭亚东 1 -10 12 102(3) 30 -6 48 70(1) 73
计算机0302*陈诗妮 12 -2 118(1) 87 39 47 74 93
实验班1807金科清 1 4 8 11(1) 12 81(3) 22 29 32
实验班1401边韵强 0 130(4) 17 26(1) 4(1) 31 39 42
健行理0205葛人楷 14(1) -13 85(1) 60(2) 23 19 133(2) 27
Sample Output:
实验班1807金科清 9 280
健行理0118汪伟 9 595
实验班1124王志鹏 8 325
实验班1401边韵强 8 409
实验班0222肖健伟 8 562
友情备用账号8 7 244
实验班1826赵扬 7 401
实验班0708郭亚东 7 416
健行理0205葛人楷 7 481
计算机0302*陈诗妮 7 490
#include<iostream>
#include<string>
#include<string.h>
#include<cstring>
#include<sstream>
#include<algorithm>
using namespace std;
class Student{
public:
string name;
int num;
int time;
public:
Student(){}
void Set(string s){
istringstream in(s);
string temp;
in>>name;
num=;time=;
while(in>>temp){
for(int i=;i<temp.length();i++)
if(temp[i]=='(' || temp[i]==')')temp[i]=' ';
istringstream in2(temp);
int iTime=,iWrongNum=;
if(in2>>iTime){
if(iTime>=){
num++;
time+=iTime;
if(in2>>iWrongNum){
time+=iWrongNum*;
}
}
}
}
}
bool operator<(Student& a){
if(num==a.num){
return (time==a.time ? name<a.name:time<a.time);
}else return num>a.num;
}
void print(){
cout<<name<<' '<<num<<' '<<time<<'\n';
}
};
int main(){
int N;cin>>N;
string s;getline(cin,s);
Student students[];
for(int i=;i<N;i++){
getline(cin,s);
students[i].Set(s);
}
sort(students,students+N);
for(int j=;j<N;j++)
students[j].print();
return ;
}
刚开始一直错最后把重载<改了一下就过啦!注意重载<时也要把次数、时间都相同的情况的情况考虑进去并把队名按照字母包顺序排列!!!
[ACM_数据结构] 竞赛排名的更多相关文章
- 【t076】竞赛排名
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 某市组织了一次中学生科技全能竞赛,每个选手要参加数学.物理.化学.天文.地理.生物.计算机和英语共八项 ...
- [ACM_数据结构] POJ2352 [树状数组稍微变形]
Description Astronomers often examine star maps where stars are represented by points on a plane and ...
- [ACM_数据结构] Color the ball [线段树水题][数组开大]
Description N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次 ...
- [ACM_数据结构] HDU 1166 敌兵布阵 线段树 或 树状数组
#include<iostream> #include<cstdio> #include<memory.h> using namespace std; ]; //- ...
- [ACM_数据结构] 线段树模板
#include<iostream> #include<cmath> using namespace std; #define maxn 200005 class Node{ ...
- 山东省第四届ACM大学生程序设计竞赛解题报告(部分)
2013年"浪潮杯"山东省第四届ACM大学生程序设计竞赛排名:http://acm.upc.edu.cn/ranklist/ 一.第J题坑爹大水题,模拟一下就行了 J:Contes ...
- 03day2
03day1 不说了,图论题因为没有把加边的过程放到循环里导致只有 10 分.(不要吐槽我啊...) 竞赛排名 排序 [问题描述] [输入] 文件的第一行为参赛总人数 N(1≤N≤1000),从第 ...
- UVa 10258 - Contest Scoreboard
题目大意:关于acm竞赛排名的题目,对于参赛者首先按做出的题目排名,然后是罚时,最后是编号. 多关键字域排序问题. #include <cstdio> #include <cstri ...
- Lavarel artisan 命令
[alex@iZ25c5aeyiiZ yiqizou3.0]# php artisan list Laravel Framework version Usage: command [options] ...
随机推荐
- 快速升级php5.6
!!yum list installed | grep phpcd /etc/yum.repos.drpm -Uvh https://mirror.webtatic.com/yum/el6/lates ...
- TS 流的解码过程(系摘抄)
TS 流解码过程: 1. 获取TS中的PAT 2. 获取TS中的PMT 3. 根据PMT可以知道当前网络中传输的视频(音频)类型(H264),相应的PID,PCR的PID等信息. 4. 设置demux ...
- css部分的复习
常见的块元素有<h1><h6>.<p><div><ul><li><ol>等,其中<div>标记是最典型的 ...
- screen 命令
# screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>] 参 ...
- LoadRunner常见问题整理
1 LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. 启动浏览器,打开In ...
- 如何在十分钟内插入1亿条记录到Oracle数据库?
这里提供一种方法,使用 APPEND 提示,使得十分钟内插入上亿数据成为可能. -- Create table create table TMP_TEST_CHAS_LEE ( f01 VARCHAR ...
- 使用IntelliJ IDEA建立java web项目
一.“File”->"New Project"弹出对话框,选择“Java Enterprise” 二.选择web模板 三.输入项目名 四.项目结构
- QuickSort快速排序的多种实现和优化
并不是很懂wikipedia上面说快排的空间复杂度最坏情况是O(NlogN)啊,难道不是空间复杂度平均O(logN),最坏O(N)么--原地快排难道不是只要算递归栈深度就好了么--有谁给我解释一下啊( ...
- swift 如何获取webView的内容高度
应用中如果使用webView,要想获取其内容高度,就要实现其代理方法, 首先添加代理UIWebViewDelegate 然后给代理赋值 webView.delegate = self 实现代理方法: ...
- Java核心知识点学习----多线程 倒计时记数器CountDownLatch和数据交换的Exchanger
本文将要介绍的内容都是Java5中的新特性,一个是倒计时记数器---CountDownLatch,另一个是用于线程间数据交换的Exchanger. 一.CountDownLatch 1.什么是Coun ...