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. Dialog和FormView如何派生通用类

    派生通用类涉及到派生类的构造函数需要传递窗口ID和CWnd,所以要在派生类中事先定义好 在Dialog中构造函数是这样定义的 public: CDialogEx(); CDialogEx(UINT n ...

  2. 不安装谷歌市场,下载谷歌市场中的APK

    不安装谷歌市场,下载谷歌市场中的APK GooglePlayStore 是谷歌官方的的应用市场,有的时候还是需要从谷歌市场下载APK文件.国内的安卓手机厂商都不自带GooglePlay,甚至一些手机& ...

  3. oracle里long类型的总结

    转自原文oracle中long类型为什么不推荐使用 不是不推荐使用的,是一般用不到,而有些时候是会用到的,所以不能一概而论.1.LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB.2.对于 ...

  4. oracle-function 练习

    /* *scm_iss.test_imti_fun2 *带有输入參数的Function */ CREATE OR REPLACE FUNCTION TEST_IMTI_FUN2(P_NO IN NUM ...

  5. amazeui学习笔记--css(HTML元素3)--表单Form

    amazeui学习笔记--css(HTML元素3)--表单Form 一.总结 1.form样式使用:在容器上添加 .am-form class,容器里的子元素才会应用 Amaze UI 定义的样式. ...

  6. 关于Clipboard和GlobalAlloc函数的关系

    一句话:为了满足进程间通信,使用了clipboard的方法,clipboard是系统提供的一段任何进程都可以访问的公共内存块,malloc 和new分配的动态内存块是在进程的私有地址空间分配的,所以必 ...

  7. 5W1H分析法和5W2H分析法

    5W1H分析法也称六何分析法,是一种思考方法,也可以说是一种创造技法.是对选定的项目.工序或操作,都要从原因(WHY).对象(WHAT).地点(WHERE).时间(WHEN).人员(WHO).方法(H ...

  8. (转)const char to LPCTSTR不能转化问题

    转: const char to LPCTSTR不能转化问题 Visual C++ 2008里cannot convert parameter 1 from 'const char [13]' to ...

  9. 通过 Microsoft iSCSI Software Target 提供存储服务

    软件下载地址: Microsoft iSCSI Software Target 3.3 下载完后成解压软件包如下: 安装官方的描述Target 端也就是服务端 只支持Windows Server 20 ...

  10. [TypeScript] The Basics of Generics in TypeScript

    It can be painful to write the same function repeatedly with different types. Typescript generics al ...