[NOIP2007]奖学金
时间: 2023-11-09 17:06:20 浏览: 46
[NOIP2007]奖学金是一个关于奖学金发放的问题。根据题目描述,某校的奖学金共有五种,分别是五等奖、四等奖、三等奖、二等奖和一等奖。而获取奖学金的条件是综合成绩排名前五名。具体实现的步骤如下:
1. 首先,我们需要输入学生们的三个成绩,并且顺便将他们的编号加上,同时计算出同学们的成绩的总和。
2. 然后,根据总成绩和各科成绩的大小,对学生进行排序,使得成绩高的学生排在前面。
3. 最后,输出前五名学生的编号和总成绩。
相关问题
洛谷1093 [NOIP2007 普及组] 奖学金
洛谷1093 [NOIP2007 普及组] 奖学金是一道算法题,出自国内在线编程平台洛谷的题库。这道题目是2007年全国信息学奥林匹克普及组的一道题目,也是NOIP(全国青少年信息学奥林匹克竞赛)的一部分。
题目描述如下:给定N个申请者的学业成绩、面试成绩、论文成绩和奖金数额,按照一定的规则来确定奖学金的分配。规则如下:
1. 学业成绩高于80分且有论文成绩的申请者可获得奖金8000元;
2. 学业成绩高于85分且面试成绩高于80分的申请者可获得奖金4000元;
3. 学业成绩高于90分的申请者可获得奖金2000元;
4. 学业成绩高于85分且有奖金的申请者可获得奖金1000元;
5. 面试成绩高于80分且有论文成绩的申请者可获得奖金850元。
要求编写一个程序,根据给定的N个申请者的相关信息,计算出总共发放的奖金数额。
这道题目主要考察对条件判断和基本计算的理解和运用。你可以通过编写一个程序来解决这个问题,根据每个申请者的成绩和条件进行判断,然后计算出总共发放的奖金数额。希望能对你有所帮助!
p1093 [noip2007 普及组] 奖学金
题目描述:
某校有n个学生,编号为1~n,每个学生有ai个不同的奖学金,现在要将这些奖学金分给这n个学生。规定编号为i的学生最多只能得到bi个奖学金,同时规定相同奖学金的奖学金数量也不能超过ci个。问最多能分出多少个奖学金。
输入格式:
第一行包含一个整数n。
接下来n行,每行包含三个整数ai,bi,ci。
输出格式:
一个整数,表示最多能分出的奖学金数量。
输入样例:
5
5 2 2
3 3 1
3 2 1
4 3 3
5 5 3
输出样例:
6
算法1
(贪心) $O(nlogn)$
首先按照奖学金数量从大到小排序,然后从大到小依次分配奖学金,直到某个学生分配满了或者某个奖学金数量已经分配完了。
时间复杂度
排序的时间复杂度为O(nlogn),分配奖学金的时间复杂度为O(n),因此总时间复杂度为O(nlogn)。
C++ 代码
算法2
(贪心) $O(nlogn)$
首先按照奖学金数量从大到小排序,然后从大到小依次分配奖学金,直到某个学生分配满了或者某个奖学金数量已经分配完了。
时间复杂度
排序的时间复杂度为O(nlogn),分配奖学金的时间复杂度为O(n),因此总时间复杂度为O(nlogn)。
C++ 代码