信息学奥赛一本通1179:奖学金
时间限制: 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:奖学金相关推荐
- 信息学奥赛一本通 1179:奖学金 | 1938:【07NOIP普及组】奖学金 | OpenJudge NOI 1.10 04 | 洛谷 P1093 [NOIP2007 普及组] 奖学金
[题目链接] ybt 1179:奖学金 ybt 1938:[07NOIP普及组]奖学金 OpenJudge NOI 1.10 04:奖学金 洛谷 P1093 [NOIP2007 普及组] 奖学金 [题 ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 信息学奥赛一本通在线提交地址
信息学奥赛一本通 1 C++语言入门 1.1 综合 1.1.1 P1458 地球人口承载力估计 正确: 770 提交: 1794 比率: 42.92 % 1.1.2 P1686 Hello, Worl ...
- 信息学奥赛一本通 (C++)上机练习
信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...
- 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”
董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...
- 信息学奥赛一本通 提高篇 第5章 矩阵乘法
例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...
- 《信息学奥赛一本通提高篇》第6章 组合数学
例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...
- 《信息学奥赛一本通 提高篇》
提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...
- 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分
信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分 信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分_mrcrack的博客-CSDN博客_信息学奥赛一本通 ...
- 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题
第1章 快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章 素数 第 3 章 约数 第 4 章 同余问题 第 5 章 矩阵乘法 第 6 章 ...
最新文章
- OpenCASCADE绘制测试线束:拓扑命令之复杂拓扑
- internal compiler error: Killed (program cc1plus)
- IOS Key-Value Observing (KVO)
- JFinal开发框架简介
- ireport参数传递json_Json传递数据两种方式(json大全)
- leetcode 121 股票买卖问题系列
- linux设备驱动模块引用和依赖
- Cocos2D学习笔记(1)- 常用的类
- c保留小数点后三位数没有则为0_C语言中……“计算结果保留三位小数。”怎么表示?...
- 网络医疗的进步让智能穿戴设备找到市场新蓝海
- html播放监控视频教程,使用javascript实现监控视频播放并打印日志
- MaxToMaya(3DMax场景转换插件)v1.4版
- Beijing's Antitrust Blunder
- 阿里P5的测试开发工程师,都有哪些要求?
- TWR_MPC8309调试日志
- 如何将多张图片拼成一张图?
- UDS之浅谈11服务
- “笨办法”学Python3,Zed A. Shaw,习题21
- 主要的动态视图对应的基表
- AI外呼机器人系统搭建和私有云部署