时间限制: 1000 ms         内存限制: 65536 KB
提交数: 21604     通过数: 10423

【题目描述】

某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前55名学生发奖学金。期末,每个学生都有33门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。

任务:先根据输入的33门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。注意,在前55名同学中,每个人的奖学金都不相同,因此,你必须严格按上述规则排序。例如,在某个正确答案中,如果前两行的输出数据(每行输出两个数:学号、总分) 是:

7 279
5 279

这两行数据的含义是:总分最高的两个同学的学号依次是77号、55号。这两名同学的总分都是 279279 (总分等于输入的语文、数学、英语三科成绩之和) ,但学号为7的学生语文成绩更高一些。如果你的前两名的输出数据是:

5 279
7 279

则按输出错误处理,不能得分。

【输入】

包含n+1n+1行:

第11行为一个正整数nn(小于300300),表示该校参加评选的学生人数。

第22到n+1n+1行,每行有33个用空格隔开的数字,每个数字都在00到100100之间。第jj行的33个数字依次表示学号为 j−1j−1 的学生的语文、数学、英语的成绩。每个学生的学号按照输入顺序编号为1∼n1∼n (恰好是输入数据的行号减11)。

【输出】

共有55行,每行是两个用空格隔开的正整数,依次表示前55名学生的学号和总分。

【输入样例】

6
90 67 80
87 66 91
78 89 91
88 99 77
67 89 64
78 89 98

【输出样例】

6 265
4 264
3 258
2 244
1 237

【提示】

样例输入#2:

8
80 89 89
88 98 78
90 67 80
87 66 91
78 89 91
88 99 77
67 89 64
78 89 98

样例输出#2:

8 265
2 264
6 264
1 258
5 258

分析:

排序与结构体,自己好好分析一下,非常简单的,直接代码

#include<iostream>
using namespace std;
struct school
{int num;int chin;int math;int eng;int sum;
}a[305];
int main()
{int n;cin>>n;for(int i=1;i<=n;i++){a[i].num=i;cin>>a[i].chin>>a[i].math>>a[i].eng;a[i].sum=a[i].chin+a[i].math+a[i].eng;}school temp;for(int i=1;i<=n;i++){for(int j=1;j<=n-i;j++){if(a[j].sum<a[j+1].sum){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}else if(a[j].sum==a[j+1].sum){if(a[j].chin<a[j+1].chin){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}else if(a[j].chin==a[j+1].chin){if(a[j].math>a[j+1].math){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}}}for(int i=1;i<=5;i++){cout<<a[i].num<<" "<<a[i].sum<<endl; }return 0;
}

信息学奥赛一本通1179:奖学金相关推荐

  1. 信息学奥赛一本通 1179:奖学金 | 1938:【07NOIP普及组】奖学金 | OpenJudge NOI 1.10 04 | 洛谷 P1093 [NOIP2007 普及组] 奖学金

    [题目链接] ybt 1179:奖学金 ybt 1938:[07NOIP普及组]奖学金 OpenJudge NOI 1.10 04:奖学金 洛谷 P1093 [NOIP2007 普及组] 奖学金 [题 ...

  2. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  3. 信息学奥赛一本通在线提交地址

    信息学奥赛一本通 1 C++语言入门 1.1 综合 1.1.1 P1458 地球人口承载力估计 正确: 770 提交: 1794 比率: 42.92 % 1.1.2 P1686 Hello, Worl ...

  4. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  5. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”

    董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...

  6. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

  7. 《信息学奥赛一本通提高篇》第6章 组合数学

    例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...

  8. 《信息学奥赛一本通 提高篇》

    提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...

  9. 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分

    信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分 信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分_mrcrack的博客-CSDN博客_信息学奥赛一本通 ...

  10. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

最新文章

  1. OpenCASCADE绘制测试线束:拓扑命令之复杂拓扑
  2. internal compiler error: Killed (program cc1plus)
  3. IOS Key-Value Observing (KVO)
  4. JFinal开发框架简介
  5. ireport参数传递json_Json传递数据两种方式(json大全)
  6. leetcode 121 股票买卖问题系列
  7. linux设备驱动模块引用和依赖
  8. Cocos2D学习笔记(1)- 常用的类
  9. c保留小数点后三位数没有则为0_C语言中……“计算结果保留三位小数。”怎么表示?...
  10. 网络医疗的进步让智能穿戴设备找到市场新蓝海
  11. html播放监控视频教程,使用javascript实现监控视频播放并打印日志
  12. MaxToMaya(3DMax场景转换插件)v1.4版
  13. Beijing's Antitrust Blunder
  14. 阿里P5的测试开发工程师,都有哪些要求?
  15. TWR_MPC8309调试日志
  16. 如何将多张图片拼成一张图?
  17. UDS之浅谈11服务
  18. “笨办法”学Python3,Zed A. Shaw,习题21
  19. 主要的动态视图对应的基表
  20. AI外呼机器人系统搭建和私有云部署

热门文章

  1. 程序员教你玩转电脑手机
  2. 台式计算机如何双屏显示,台式计算机如何同时连接显示器和电视双屏显示器?...
  3. 吃货在东京 -- 记那段吃不饱的日子 之五 保护加班后的胃
  4. 文件的文件名翻译重命名技巧操作
  5. 惠普服务器关机自动重启,HP笔记本关机自动重启的解决办法
  6. 提取爱词霸页面中的自定义信息
  7. android手机不能发短信,解决安卓手机发送短信失败的方法
  8. 7个黑科技搜索网站,啥都能搜到!
  9. 方法解读 | 性染色体Phasing
  10. pycharm的安装,简单使用