杭电acm 1084 What Is Your Grade? 比较考人的简单题
来源:互联网 发布:大数据获取方式 编辑:程序博客网 时间:2024/05/28 06:04
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;struct Point{ int p; int s; int pos; int t;};Point p[105];int n;int sum[6],tol[6];bool cmp1(const Point& lhs,const Point& rhs)//对所有的成员按照解题数从小到大排序,如解题数相同则按照时间从少到多排序{ if(lhs.p == rhs.p) return lhs.t<rhs.t; else return lhs.p < rhs.p;}bool cmp2(const Point& lhs,const Point& rhs)//按照编号排序{ return lhs.pos < rhs.pos;}int main(){ while(scanf("%d",&n)!=EOF && (n>=0)) { int co,h,m,s; memset(sum,0,sizeof(sum)); memset(tol,0,sizeof(tol)); for(int i=0;i<n;i++) { scanf("%d %d:%d:%d",&co,&h,&m,&s); p[i].pos = i; sum[co]++;//解题数相同的有多少人 p[i].p = co; p[i].t = h*3600 + m*60 + s; } for(int i=1;i<=5;i++)//这是求出解题数少于i道的总人数 { tol[i] = tol[i-1]+sum[i-1]; } sort(p,p+n,cmp1); for(int i=0;i<n;i++) { p[i].s = p[i].p*10+50; if(p[i].s == 100 || p[i].s == 50) continue; if(i-tol[p[i].p] < sum[p[i].p]/2) p[i].s += 5; } sort(p,p+n,cmp2); for(int i=0;i<n;i++) { printf("%d\n",p[i].s); } printf("\n"); } return 0;}
0 0
- 杭电acm 1084 What Is Your Grade? 比较考人的简单题
- 杭电ACM HDU 1084 What Is Your Grade?
- 【杭电】[1084]What Is Your Grade?
- 杭电1084What Is Your Grade?
- 【杭电1084】What Is Your Grade?
- HDU ACM 1084 What Is Your Grade?
- HDU ACM 1084 What Is Your Grade?
- 杭电OJ—— 1084 What Is Your Grade?
- 文章标题杭电What Is Your Grade?
- 【杭电oj】1084 - What Is Your Grade?(排序,迷之WA)
- 【杭电-oj】-1084-What Is Your Grade?(结构体)
- What Is Your Grade?
- What Is Your Grade?
- What Is Your Grade?
- what is your grade
- What Is Your Grade?
- What Is Your Grade?
- HDU 1084 What Is Your Grade? (模拟题)
- String为什么是不可变的?
- C# Excel 为图表添加Data Table
- maven 打包成可执行的jar文件
- source-insight启动失败定位
- 搜索----Android Demo
- 杭电acm 1084 What Is Your Grade? 比较考人的简单题
- 搭建 linux+nginx+mysql+php
- CKEditor+CKFinder+jsp的整理
- JVM--JAVA内存区域与内存溢出异常(未完)
- asp.net中时间差的问题
- VC C运行时库(CRTL)的几个版本及用法
- webstorm下cocos2d-js的日志查看
- spanned android
- 2016、2015去哪儿秋招笔试题