60-谁获得了最高奖学金

内存限制:64MB
时间限制:1000ms
Special Judge: No

accepted:8
submit:17

题目描述:

    某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同:
  1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;
  2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;
  3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;
  4) 西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得;
  5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;
  只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。
  现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。

输入描述:

第一行输入数据N,表示测试数据组数(0<N<100),每组测试数据输入的第一行是一个整数X(1 <= X <= 100),表示学生的总数。接下来的X行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。每两个相邻数据项之间用一个空格分隔。

输出描述:

   每组测试数据输出包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。第三行是这X个学生获得的奖学金的总数。

样例输入:

复制

1
4
YaoLin 87 82 Y N 0
ChenRuiyi 88 78 N Y 1
LiXin 92 88 N N 0
ZhangQin 83 87 Y N 1

样例输出:

ChenRuiyi
9000
28700 分析:
  1、将每一个结果进行逻辑判断 核心代码:
 if (a >  && c >= ) cnt += ;
if (a > && b > ) cnt += ;
if (a > ) cnt += ;
if (a > && f == 'Y') cnt += ;
if (b > && e == 'Y') cnt += ;

C/C++代码实现(AC):

 #include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <stack>
#include <map>
#include <queue>
#include <set> using namespace std; int main()
{
int t;
scanf("%d", &t);
while(t --)
{
int n, output_2 = , output_3 = ;
string output_1;
scanf("%d", &n);
while(n --)
{
string name;
int a, b, c, cnt = ;
char e, f;
cin >>name >>a >> b >>e >>f >>c; if (a > && c >= ) cnt += ;
if (a > && b > ) cnt += ;
if (a > ) cnt += ;
if (a > && f == 'Y') cnt += ;
if (b > && e == 'Y') cnt += ; if (output_2 < cnt)
{
output_2 = cnt;
output_1 = name;
}
output_3 += cnt;
}
cout <<output_1 <<endl <<output_2 <<endl <<output_3 <<endl;
}
return ;
}

最新文章

  1. 从史上八大MySQL事故中学到的经验
  2. SQL SERVER 2008数据库各版本功能对比
  3. htaccess分布式配置文件常用写法
  4. [译]对 AngularJS 模板的A/B测试
  5. HttpCache ETag与Last-Modified与Expires
  6. ARM、Intel、MIPS处理器啥区别?看完全懂了【转】
  7. centos6配置远程桌面,使用xmanager访问
  8. Django搭建及源码分析(一)
  9. RHEL6.4找回root密码的方法
  10. IOS 获得通讯录中联系人的所有属性 备用参考
  11. 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.2
  12. 【转载】KETTLE集群搭建
  13. oracle中计算百分比,并同时解决小数点前0不显示的问题
  14. SSD笔记
  15. 代码操作Word时,目录自动更新的两种方法
  16. HBase学习之路 (三)HBase集群Shell操作
  17. 2016.5.24——Intersection of Two Linked Lists
  18. Solr 数字字符不能搜索的一个问题
  19. &ldquo;互联网+&rdquo;背景下使用微信公众号增强班主任工作与整合教学资源(泰微课)
  20. Linux C 语言之 Hello World 详解

热门文章

  1. c语言-----劫持原理
  2. MySQL操作(一)用户及权限
  3. 身为一个 CS专业的留学生,你还在为堆积如山的编程assignment而发愁吗?
  4. requests+lxml+xpath爬取电影天堂
  5. fenby C语言 P30
  6. ajax 跨域问题处理
  7. SQLserver2016对字段是json对象查询
  8. 上下文管理器及with的相关总结
  9. linux 查看磁盘信息
  10. LNMP下zabbix_server安装部署一