【杭电1084】What Is Your Grade?
2016-07-21 08:28
363 查看
What Is Your Grade?(结构体+(sort))
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
“Point, point, life of student!”
This is a ballad(歌谣)well known in colleges, and you must care about your score in this exam too. How many points can you get? Now, I told you the rules which are used in this course.
There are 5 problems in this final exam. And I will give you 100 points if you can solve all 5 problems; of course, it is fairly difficulty for many of you. If you can solve 4 problems, you can also get a high score 95 or 90 (you can get the former(前者) only
when your rank is in the first half of all students who solve 4 problems). Analogically(以此类推), you can get 85、80、75、70、65、60. But you will not pass this exam if you solve nothing problem, and I will mark your score with 50.
Note, only 1 student will get the score 95 when 3 students have solved 4 problems.
I wish you all can pass the exam!
Come on!
Input
Input contains multiple test cases. Each test case contains an integer N (1<=N<=100, the number of students) in a line first, and then N lines follow. Each line contains P (0<=P<=5 number of problems that have been solved) and T(consumed
time). You can assume that all data are different when 0<p.
A test case starting with a negative integer terminates the input and this test case should not to be processed.
Output
Output the scores of N students in N lines for each case, and there is a blank line after each case.
Sample Input
4
5 06:30:17
4 07:31:27
4 08:12:12
4 05:23:13
1
5 06:30:17
-1
Sample Output
100
90
90
95
100
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
“Point, point, life of student!”
This is a ballad(歌谣)well known in colleges, and you must care about your score in this exam too. How many points can you get? Now, I told you the rules which are used in this course.
There are 5 problems in this final exam. And I will give you 100 points if you can solve all 5 problems; of course, it is fairly difficulty for many of you. If you can solve 4 problems, you can also get a high score 95 or 90 (you can get the former(前者) only
when your rank is in the first half of all students who solve 4 problems). Analogically(以此类推), you can get 85、80、75、70、65、60. But you will not pass this exam if you solve nothing problem, and I will mark your score with 50.
Note, only 1 student will get the score 95 when 3 students have solved 4 problems.
I wish you all can pass the exam!
Come on!
Input
Input contains multiple test cases. Each test case contains an integer N (1<=N<=100, the number of students) in a line first, and then N lines follow. Each line contains P (0<=P<=5 number of problems that have been solved) and T(consumed
time). You can assume that all data are different when 0<p.
A test case starting with a negative integer terminates the input and this test case should not to be processed.
Output
Output the scores of N students in N lines for each case, and there is a blank line after each case.
Sample Input
4
5 06:30:17
4 07:31:27
4 08:12:12
4 05:23:13
1
5 06:30:17
-1
Sample Output
100
90
90
95
100
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; struct node { int x; char s[10]; } a[100]; int main() { int n; while(scanf("%d",&n),n!=-1) { for(int i=0; i<n; i++) { scanf("%d %s",&a[i].x,&a[i].s); } int t[5]= {0}; for(int i=4; i>0; i--)//做出相同题数的人的个数 { for(int j=0; j<n; j++) { if(a[j].x==i) t[i]++; } } for(int i=0; i<n; i++) { if(a[i].x==5) printf("100\n"); else if(a[i].x==0) printf("50\n"); else { int k=0; for(int j=0; j<n; j++) { if(a[j].x==a[i].x&&strcmp(a[j].s,a[i].s)<0) k++; } if(k>=t[a[i].x]/2)//相同题数用时短的人数> 做出相同题数的总人数一半 printf("%d\n",100-(5-a[i].x)*10); else printf("%d\n",100-(5-a[i].x)*10+5); } } printf("\n"); } return 0; }
相关文章推荐
- JS 判断移动端 ,跳转
- 第一讲:云计算基础知识第一讲:云计算概念
- svn命令合并分支
- 从数据库查询到展示的三种路径
- Nasty Hacks(划不划算)
- TCP协议详解
- 进程与线程
- 初学Java者的第一篇
- iOS---精仿手工课~(Objective-C)
- 2016 hdu多校联赛1004 GCD rmq+二分
- Longest Palindromic Substring
- HDOJ 2141 Can you find it?
- Java从1计数到100,遇到3的倍数就替换为单词Filp,5的倍数就替换为单词Flop,既为3的倍数又为5的倍数则替换单词FilpFlop.
- Android官方开发文档Training系列课程中文版:创建自定义View之View的优化
- ListView.MultiChoiceModeListener
- Java循环查找商品信息,最后接收字符n退出查找.主要是接收字符n
- Codeforce 2016 Al-Baath University Training Camp Contest-1
- MySQL技术内幕InnoDB存储引擎学习笔记
- 基于C++ list中erase与remove函数的使用详解
- 07.21C_struct