Time Limit: 1 second

Memory Limit: 128 MB

【问题描述】

华南师大附中月考二已经结束,级长想知道最高分是谁。但是现在级长很忙,没有时间统计成绩,于是他找到了你,你能帮帮他吗?

【输入格式】

第一行是一个正整数n

接下来是n行,每行为一个同学的成绩,格式如下:

先是一个字符串,表示这个同学的名字(长度小于等于20,由大小写字母构成),然后是他的4位学号(数据保证是4位,但是可能以

0开头),接下来是4个数,分别表示他的语文、数学、英语、综合成绩(这个数在0到150之间,一定是0.5的倍数),最后是一

个字符串和一个数(这个数在0到150之间,一定是0.5的倍数),字符串表示他的X科(一定是physics、chemistry、biology中

的一个),那个数为他这科的成绩。以上的数据都由一个空格隔开,末尾没有多余的空格。具体请看样例。

【输出格式】

输出文件一共3行,分别表示选考physics、chemistry、biology中总分最高的同学。每行的输出格式为:

先是一个字符串,表示这个同学的名字,然后是他的4位学号,最后是他的总分。如果总分相同,则输出4位学号最小的。数据保证4

位学号互不相同。以上的数据都由一个空格隔开,末尾没有多余的空格。具体请看样例。 【限制】

100%的数据满足:3<=n<=600

数据保证每科至少有一个同学的成绩。

【注意】

所有的分数应以最简形式输出(例如不要将750输出为750.0)。

输入数据保证所有的分数都为最简形式。

Sample Input

5

apple 0101 150 150 150 150 physics 150

egg 0202 140 130.5 130 150 chemistry 150

banana 0102 130 140 130.5 150 chemistry 150

cat 0103 100.5 100 100 100 biology 100

dog 0288 89.5 89.5 89.5 89.5 physics 91.5

Sample Output

apple 0101 750

banana 0102 700.5

cat 0103 500.5

【题目链接】:http://noi.qz5z.com/viewtask.asp?id=t055

【题解】



把每个人的成绩分类一下就好;

分为物理,化学,生物三类;

然后记录它们的总分,学号,名字就好;

用个map+vector来存;

自己写一个比较函数排下序然后输出每组的第一个就好;



【完整代码】

#include <cstdio>
#include <algorithm>
#include <vector>
#include <iostream>
#include <string>
#include <map> using namespace std; struct abc
{
double zongfen;
string name,xuehao;
friend bool operator < (abc a,abc b)
{
if (a.zongfen != b.zongfen)
return a.zongfen > b.zongfen;
else
return a.xuehao < b.xuehao;
}
}; map <string,vector<abc> > dic; int main()
{
//freopen("F:\\rush.txt","r",stdin);
int n;
scanf("%d",&n);
for (int i = 1;i <= n;i++)
{
abc temp;
double x,y,z,k,l;
string lei;
cin >> temp.name >> temp.xuehao >> x >> y >> z >> k >> lei >> l;
temp.zongfen = x+y+z+k+l;
dic[lei].push_back(temp);
}
sort(dic["physics"].begin(),dic["physics"].end());
sort(dic["chemistry"].begin(),dic["chemistry"].end());
sort(dic["biology"].begin(),dic["biology"].end());
cout << dic["physics"][0].name <<' '<<dic["physics"][0].xuehao<<' '<<dic["physics"][0].zongfen<<endl;
cout << dic["chemistry"][0].name <<' '<<dic["chemistry"][0].xuehao<<' '<<dic["chemistry"][0].zongfen<<endl;
cout << dic["biology"][0].name <<' '<<dic["biology"][0].xuehao<<' '<<dic["biology"][0].zongfen<<endl;
return 0;
}

【t055】成绩统计的更多相关文章

  1. 2016福州大学软件工程第二次团队作业——预则立&&他山之石成绩统计

    第二次团队作业--预则立&&他山之石成绩统计结果如下: T:团队成绩 P:个人贡献比 T+P:折算个人成绩,计算公式为T+T/15*团队人数*P 学号 组别 Team P T+P 03 ...

  2. sdut 3-5 学生成绩统计

    3-5 学生成绩统计 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 通过本题目练习能够掌握对象数组的使用方法,主要是对象数组中数据的输入输出操作. 设计 ...

  3. (注意输入格式)bistuoj(旧)1237 成绩统计

    成绩统计 Time Limit(Common/Java):1000MS/3000MS          Memory Limit:65536KByteTotal Submit:88          ...

  4. 成绩统计程序(Java)

    我的程序: package day20181018;/** * 成绩统计系统 * @author Administrator */import java.util.Scanner;//提供计算机直接扫 ...

  5. 体育成绩统计——20180801模拟赛T3

    体育成绩统计 / Score 题目描述 正所谓“无体育,不清华”.为了更好地督促同学们进行体育锻炼,更加科学地对同学们进行评价,五道口体校的老师们在体育成绩的考核上可谓是煞费苦心.然而每到学期期末时, ...

  6. YTU 2798: 复仇者联盟之数组成绩统计

    2798: 复仇者联盟之数组成绩统计 时间限制: 1 Sec  内存限制: 128 MB 提交: 136  解决: 96 题目描述 定义一个5行3列的二维数组,各行分别代表一名学生的高数.英语.C++ ...

  7. YTU 2769: 结构体--成绩统计

    2769: 结构体--成绩统计 时间限制: 1 Sec  内存限制: 128 MB 提交: 1021  解决: 530 题目描述 建立一个简单的学生信息表,包括:姓名.性别.年龄及一门课程的成绩,统计 ...

  8. 【Java例题】7.5 文件题2-学生成绩统计

    5.学生成绩统计.已有一个学生成绩文件,含有多位学生的各三门课的成绩:读取这个文件中的每位学生的三门课成绩,然后计算均分:最后对这些均分按照大于或小于75分的界限,分别写到另两个文件中. packag ...

  9. 学生各门课程成绩统计SQL语句大全

    学生成绩表(stuscore): 姓名:name 课程:subject 分数:score 学号:stuid 张三 数学 89 1 张三 语文 80 1 张三 英语 70 1 李四 数学 90 2 李四 ...

随机推荐

  1. 03002_MySQL数据库的安装和配置

    1.MySQL的安装 (1)下载mysql-5.5.49-win32.msi, 链接:MySQL安装包下载 密码:geqh : (2)打开下载的MySQL安装文件mysql-5.5.27-win32. ...

  2. 怎样 TabHostFragment自己定义 tab键(indicator)

    1 获得 tabHostFragment: ActionBarActivity activity2 = (ActionBarActivity) activity; mTabHost = new Fra ...

  3. Activity Test1

    源代码下载(免积分) :下载 Acitivty測试的API的父类是InstrumentationTestCase.这个类可以获取Instrumentation.来操作Activity. 对于acti ...

  4. eclipse-12.04无图标,无法固定到侧边栏

    今天下载了adt-bundle,但是eclipse打开以后,侧边栏显示的是一个问好,而且没办法固定到侧边栏,导致每次打开eclipse都要进入到相应目录,很麻烦.我们可以通过如下方法设置eclipse ...

  5. ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第六篇:拦截器

    摘要      本文将对“MVC公告发布系统”的发布公告功能添加日志功能和异常处理功能,借此来讨论ASP.NET MVC中拦截器的使用方法. 一个小难题      我们继续完善“MVC公告发布系统”, ...

  6. Python产生随机数组,测试用

    import numpy as np if __name__ == '__main__': a=np.random.randint(0,10,size=[3,3])    print(a) 输出: [ ...

  7. (错误记录)Vue: Unknown custom element

    错误: vue.js:634 [Vue warn]: Unknown custom element: <ve-pie> - did you register the component c ...

  8. C#调用第三方ocx控件 (winform /aspx)

    C#调用第三方ocx控件   1..net环境在工具箱上点右键,选择自定义工具箱,然后选择你需要的COM或者OCX控件就可以了. 2.在自定义工具箱中加入相应的控件,设置id,在客户端脚本中直接引用它 ...

  9. win7管理工具不可用

    看看这个路径的文件夹是否还在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools如果有缺失的文件夹就自己新 ...

  10. HDU 2473 Junk-Mail Filter 并查集删除(FZU 2155盟国)

    http://acm.hdu.edu.cn/showproblem.php?pid=2473 http://acm.fzu.edu.cn/problem.php?pid=2155 题目大意: 编号0~ ...