【t055】成绩统计
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】成绩统计的更多相关文章
- 2016福州大学软件工程第二次团队作业——预则立&&他山之石成绩统计
第二次团队作业--预则立&&他山之石成绩统计结果如下: T:团队成绩 P:个人贡献比 T+P:折算个人成绩,计算公式为T+T/15*团队人数*P 学号 组别 Team P T+P 03 ...
- sdut 3-5 学生成绩统计
3-5 学生成绩统计 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 通过本题目练习能够掌握对象数组的使用方法,主要是对象数组中数据的输入输出操作. 设计 ...
- (注意输入格式)bistuoj(旧)1237 成绩统计
成绩统计 Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal Submit:88 ...
- 成绩统计程序(Java)
我的程序: package day20181018;/** * 成绩统计系统 * @author Administrator */import java.util.Scanner;//提供计算机直接扫 ...
- 体育成绩统计——20180801模拟赛T3
体育成绩统计 / Score 题目描述 正所谓“无体育,不清华”.为了更好地督促同学们进行体育锻炼,更加科学地对同学们进行评价,五道口体校的老师们在体育成绩的考核上可谓是煞费苦心.然而每到学期期末时, ...
- YTU 2798: 复仇者联盟之数组成绩统计
2798: 复仇者联盟之数组成绩统计 时间限制: 1 Sec 内存限制: 128 MB 提交: 136 解决: 96 题目描述 定义一个5行3列的二维数组,各行分别代表一名学生的高数.英语.C++ ...
- YTU 2769: 结构体--成绩统计
2769: 结构体--成绩统计 时间限制: 1 Sec 内存限制: 128 MB 提交: 1021 解决: 530 题目描述 建立一个简单的学生信息表,包括:姓名.性别.年龄及一门课程的成绩,统计 ...
- 【Java例题】7.5 文件题2-学生成绩统计
5.学生成绩统计.已有一个学生成绩文件,含有多位学生的各三门课的成绩:读取这个文件中的每位学生的三门课成绩,然后计算均分:最后对这些均分按照大于或小于75分的界限,分别写到另两个文件中. packag ...
- 学生各门课程成绩统计SQL语句大全
学生成绩表(stuscore): 姓名:name 课程:subject 分数:score 学号:stuid 张三 数学 89 1 张三 语文 80 1 张三 英语 70 1 李四 数学 90 2 李四 ...
随机推荐
- cv2.putText 文字换行('\n')无法解析换行
OpenCV putText() new line character cv2.putText 在向图像中添加文本信息时,如果在待添加的文本中含有换行转义符,一般它是无法正确处理的: cv2.putT ...
- Python的数组合并
https://blog.csdn.net/hustqb/article/details/78090365 TypeError: can only concatenate list (not &quo ...
- oracle_经常使用分组函数
oracle_经常使用分组函数 ①分组函数 1.max(column):求最大值,对数据类型没有要求,随意数据类型都能够 2.min(column):求最小值,对数据类型没有要求,随意数据类型都 ...
- 微信支付v2开发(2) 微信支付账号体系
本文介绍微信支付账号体系各参数. 商户在微信公众平台提交申请资料以及银行账户资料,资料审核通过并签约后,可以获得表6-4所示帐户(包含财付通的相关支付资金账户),用于公众帐号支付. 帐号 作用 app ...
- Android Warning not all local changes may be shown due to an error
idea使用svn出现Warning not all local changes may be shown due to an error,如下图所示: 解决方案: 1.File > Setti ...
- DIV+CSS学习笔记(CSS)
css基础知识: css样式表的定义 css:(Cascading Style Sheets)层叠样式表: 分类及位置:内部样式-head区域style标签里面 外部样式-link调用 内联样式-标签 ...
- java中Arrays类的应用
java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的.具有以下功能: ² 给数组赋值:通过fill方法. ² 对数组排序:通过sort方法,按升序. ² 比较数组:通过equ ...
- 使用docker 搭建基础的 mysql 应用
mysql server是眼下比較流行的开源数据库server.以下介绍怎样使用docker来做一个mysql数据库服务 从站点直接 pull 一个 mysql 的镜像 core@localhost ...
- C#利用反射机制,获取实例的属性和属性值
C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值 对应某个类的实例化的对象tc, 遍历获取所有属性(子成员)的方法(采用反射): Type t = tc.GetType();// ...
- html始终让元素居中显示,背景图铺满随便拖动不出界
首先.写两个class属性 body { margin: 0; padding: 0; height: 100%; width: 100%; background-image: url(../Cont ...