【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 李四 ...
随机推荐
- 【Codeforces Round #453 (Div. 2) B】Coloring a Tree
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 从根节点开始. 显然它是什么颜色.就要改成对应的颜色.(如果上面已经有某个点传了值就不用改 然后往下传值. [代码] #includ ...
- java文件处理 之 读写TXT(比之c++,重置文件头,int转string)
一:c/c++ 处理文件的使用方法.详见博客 c++文件操作 二:java与c++的方便之处: (1) java在读取文件时.能够对字符流进行处理,又一次进行编码,如 InputStreamReade ...
- 【Tomcat】严重: Context [/grouponAdminWeb] startup failed due to previous errors
1 tomcat 6600启动报错[root@localhost webapps]# sh /usr/local/apache-tomcat-6.0.37_6600/bin/startup.s ...
- caffe 在 windows 下的配置(scripts\build_win.cmd)
官网配置文档见:GitHub - BVLC/caffe at windows 1. windows 设置 requirements: visual studio 2013/2015 CMake > ...
- JS搜索菜单实现
1 <!--菜单搜索功能--> 2 <!--先写静态页面--> 3 <!DOCTYPE html> 4 <html> 5 <head> 6 ...
- nuxt配置sass
没有比这更简单的了 只需要安装 node-sass sass-loader 就可以了 npm i node-sass sass-loader -D 然后就可以直接使用了: <style lang ...
- Flask项目之手机端租房网站的实战开发(五)
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/8 ...
- MSDN上的异步socket 服务端例子
MSDN上的异步socket 服务端例子 2006-11-22 17:12:01| 分类: 代码学习 | 标签: |字号大中小 订阅 Imports SystemImports Syste ...
- jQuery快速入门知识重点
1.jquery中attr与prop的区别 attr:是通过setAttribute 和 getAttribute来设置的使用的是DOM属性节点 prop:是通过document.getEle ...
- mybatis中整合ehcache缓存框架的使用
mybatis整合ehcache缓存框架的使用 mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓 ...