PAT甲 1012. The Best Rank (25) 2016-09-09 23:09 28人阅读 评论(0) 收藏
1012. The Best Rank (25)
To evaluate the performance of our first year CS majored students, we consider their grades of three courses only: C - C Programming Language, M - Mathematics (Calculus or Linear Algebra), and E - English. At the mean time, we encourage students by emphasizing
on their best ranks -- that is, among the four ranks with respect to the three courses and the average grade, we print the best rank for each student.
For example, The grades of C, M, E and A - Average of 4 students are given as the following:
- StudentID C M E A
- 310101 98 85 88 90
- 310102 70 95 88 84
- 310103 82 87 94 88
- 310104 91 91 91 91
Then the best ranks for all the students are No.1 since the 1st one has done the best in C Programming Language, while the 2nd one in Mathematics, the 3rd one in English, and the last one in average.
Input
Each input file contains one test case. Each case starts with a line containing 2 numbers N and M (<=2000), which are the total number of students, and the number of students who would check their ranks, respectively. Then N lines follow, each contains a student
ID which is a string of 6 digits, followed by the three integer grades (in the range of [0, 100]) of that student in the order of C, M and E. Then there are M lines, each containing a student ID.
Output
For each of the M students, print in one line the best rank for him/her, and the symbol of the corresponding rank, separated by a space.
The priorities of the ranking methods are ordered as A > C > M > E. Hence if there are two or more ways for a student to obtain the same best rank, output the one with the highest priority.
If a student is not on the grading list, simply output "N/A".
Sample Input
- 5 6
- 310101 98 85 88
- 310102 70 95 88
- 310103 82 87 94
- 310104 91 91 91
- 310105 85 90 90
- 310101
- 310102
- 310103
- 310104
- 310105
- 999999
Sample Output
- 1 C
- 1 M
- 1 E
- 1 A
- 3 A
- N/A
- 分别按每项排序,算出排名,然后查询时对4项的值
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<vector> using namespace std; struct node { int e,a,c,m,ne,na,nc,nm,id; } s[2003]; bool cmpa(node a,node b) { return a.a>b.a;}
bool cmpc(node a,node b) { return a.c>b.c;}
bool cmpm(node a,node b) { return a.m>b.m;}
bool cmpe(node a,node b) { return a.e>b.e;}
int main() { int m,n,C,E,M,id; scanf("%d%d",&n,&m); memset(s,-1,sizeof(s)); for(int i=0; i<n; i++) { scanf("%d%d%d%d",&id,&C,&M,&E); s[i].id=id; s[i].c=C; s[i].m=M; s[i].e=E; s[i].a=(C+M+E)/3; } sort(s,s+n,cmpa); int cnt=0; while(s[cnt].a!=-1) { if(s[cnt].a==s[cnt-1].a) s[cnt].na=s[cnt-1].na; else s[cnt].na=cnt+1; cnt++; } sort(s,s+n,cmpc); cnt=0; while(s[cnt].c!=-1) { if(s[cnt].c==s[cnt-1].c) s[cnt].nc=s[cnt-1].nc; else s[cnt].nc=cnt+1; cnt++; } sort(s,s+n,cmpm); cnt=0; while(s[cnt].m!=-1) { if(s[cnt].m==s[cnt-1].m) s[cnt].nm=s[cnt-1].nm; else s[cnt].nm=cnt+1; cnt++; } sort(s,s+n,cmpe); cnt=0; while(s[cnt].e!=-1) { if(s[cnt].e==s[cnt-1].e) s[cnt].ne=s[cnt-1].ne; else s[cnt].ne=cnt+1; cnt++; } for(int i=0; i<m; i++) { scanf("%d",&id); int flag=-1; for(int j=0;j<n;j++) { if(s[j].id==id) { flag=j; break; } } if(flag==-1) printf("N/A\n"); else if(s[flag].na<=s[flag].nc&&s[flag].na<=s[flag].nm&&s[flag].na<=s[flag].ne) printf("%d A\n",s[flag].na); else if(s[flag].nc<s[flag].na&&s[flag].nc<=s[flag].nm&&s[flag].nc<=s[flag].ne) printf("%d C\n",s[flag].nc); else if(s[flag].nm<s[flag].na&&s[flag].nm<s[flag].nc&&s[flag].nm<=s[flag].ne) printf("%d M\n",s[flag].nm); else if(s[flag].ne<s[flag].na&&s[flag].ne<s[flag].nc&&s[flag].ne<s[flag].nm) printf("%d E\n",s[flag].ne); } return 0;}
PAT甲 1012. The Best Rank (25) 2016-09-09 23:09 28人阅读 评论(0) 收藏的更多相关文章
- PAT甲 1048. Find Coins (25) 2016-09-09 23:15 29人阅读 评论(0) 收藏
1048. Find Coins (25) 时间限制 50 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Eva loves t ...
- PAT甲 1032. Sharing (25) 2016-09-09 23:13 27人阅读 评论(0) 收藏
1032. Sharing (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue To store Engl ...
- PAT甲 1029. Median (25) 2016-09-09 23:11 27人阅读 评论(0) 收藏
1029. Median (25) 时间限制 1000 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given an incr ...
- PAT甲 1009. Product of Polynomials (25) 2016-09-09 23:02 96人阅读 评论(0) 收藏
1009. Product of Polynomials (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...
- PAT甲 1046. Shortest Distance (20) 2016-09-09 23:17 22人阅读 评论(0) 收藏
1046. Shortest Distance (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The ...
- PAT甲 1041. Be Unique (20) 2016-09-09 23:14 33人阅读 评论(0) 收藏
1041. Be Unique (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Being uniqu ...
- PAT甲 1011. World Cup Betting (20) 2016-09-09 23:06 18人阅读 评论(0) 收藏
1011. World Cup Betting (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Wit ...
- PAT甲 1008. Elevator (20) 2016-09-09 23:00 22人阅读 评论(0) 收藏
1008. Elevator (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The highest ...
- PAT甲 1007. Maximum Subsequence Sum (25) 2016-09-09 22:56 41人阅读 评论(0) 收藏
1007. Maximum Subsequence Sum (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Y ...
随机推荐
- 不用登陆密码也能进路由器,适用于TP、磊科、腾达
结合wooyun提供的腾达COOKIE漏洞,结合自己的经验,成功进入腾达路由器破解其登陆密码和无线密码. 教程开始: 所用工具:WebCruiser 输入路由网关,出现登陆界面. 选择:COOKIE ...
- css中选择器
css中常用的选择器有: 1.元素选择器:h1{} 如<h1></h1> 2.类选择器:.test{}或者h1.test{} 如<h1 class="test ...
- 解决:Invalid character found in method name. HTTP method names must be tokens
阿里云上弄了一个tomcat,经常半夜发送崩溃,查看日志发现这个东西,查阅资料发现是Tomcat的header缓冲区大小不够,只需要在server.xml中增加maxHttpHeaderSize字 ...
- 利用python实现冒泡排序
1.先生存一个随机数组成的list 2.然后进行排序,把大的元素放在后面,小的元素放在前面,最终实现从小到大排列 首先生存一个随机数组成的list import random # print(sys. ...
- C++ 输入cin 和输出cout
C++输入cout与输出cin 输入和输出并不是C++语言中的正式组成成分.C和C++本身都没有为输入和输出提供专门的语句结构.输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的. ...
- ViewPager 带动画的欢迎界面
一般APP进去之后都会有几张图片来导航,这里就学习怎么在这张图片切换的时候添加切换动画效果 先看布局文件 activity_main.layout <?xml version="1.0 ...
- expdp、impdp使用
expdp介绍 EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_name用于指定 ...
- JFinal WEB MVC和Struts简要对比
JFinal遵循COC原则,零配置,无xml,而struts需要配置来支持action.result.interceptor配置与使用. JFinal开发效率非常之高,相对Struts开发效率能提升五 ...
- (转载)Zab vs. Paxos
原创链接:https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab+vs.+Paxos Is Zab just a special imple ...
- cmake 头文件 库文件 链接库
原文地址:http://www.cnblogs.com/binbinjx/p/5626916.html 1. 添加头文件目录INCLUDE_DIRECTORIES 语法: include_direct ...