首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【题解】 成绩

    [NOIP2017 普及组] 成绩 题目背景 NOIP2017 普及组 T1 题目描述 牛牛最近学习了 C++ 入门课程,这门课程的总成绩计算方法是: 总成绩=作业成绩 \times 20%+小测成绩小测成绩小测成绩...×30%+期末考试成绩期末考试成绩期末考试成绩 \times 50% 牛牛想知道,这门课程自己最终能得到多少分。...输入格式 三个非负整数 A,B,CA,B,CA,B,C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 100100100 分。...输入输出样例 2 说明 牛牛的作业成绩是 606060 分,小测成绩是 909090 分,期末考试成绩是 808080 分,总成绩是 60×20%+90×30%+80×50%=12+27+40=7960...根据题面信息:总成绩=作业成绩 \times 20%+小测成绩小测成绩小测成绩×30%+期末考试成绩期末考试成绩期末考试成绩 \times 50% 。 C++中不存在百分号,需将其转换成小写的形式。

    1.1K20

    队列的最大值滑动窗口的最大值

    例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5};针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下...解题思路 方法一:蛮力法 思路 扫描窗口k,得到最大值。对于长度为n的数组,算法时间复杂度O(nk) 显然不是最优解。...方法二:用两个栈实现队列 思路 面试题30中,我们实现过用两个栈实现了队列,可以在O(1)时间得到栈的最大值,也就可以得到队列的最大值。...第二个数字是3,比2大,所以2不可能是滑动窗口中的最大值,因此把2从队列里删除,再把3存入队列中。第三个数字是4,比3大,同样的删3存4。此时滑动窗口中已经有3个数字,而它的最大值4位于队列的头部。...第四个数字2比4小,但是当4滑出之后它还是有可能成为最大值的,所以我们把2存入队列的尾部。下一个数字是6,比4和2都大,删4和2,存6。就这样依次进行,最大值永远位于队列的头部。

    2.2K20

    成绩大排队

    描述:读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号 输入:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:...第2个学生的姓名 学号 成绩 ... ... ......第n+1行:第n个学生的姓名 学号 成绩 其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。...输出:对每个测试用例输出2行,第1行是成绩最高学生的姓名和学号,第2行是成绩最低学生的姓名和学号,字符串间有1空格 input:3     Joe Math990112 89       Mike CS991301...100       Mary EE990830 95 output:Mike CS991301      Joe Math990112 分析:建立一个学生类,包含姓名,学号,成绩

    51220

    最高成绩(静态成员)

    题目描述 学生类定义如下: class Student { private: int id;//学号 int score; //成绩 static int maxscore;//最高分数 static...static int getMaxScore(); //返回最高成绩 static int getMaxID();//返回最高成绩的学号 }; 输入一组学生学号和成绩,用上述静态成员求最高成绩和对应学号...输入 第一行输入n表示有n个学生 接着输入n行,每行包括两个数据,表示学号和成绩 输出 调用静态成员函数输出学号和最高成绩,格式看样例 输入样例1 3 1002 68 1023 54 1045...最后就是找最高成绩,显然不能通过排序的方式,因为题目给定了找最高成绩的成员函数声明,还是个静态成员函数,只能通过一一比较。...static int getMaxScore(); //返回最高成绩 static int getMaxID();//返回最高成绩的学号 }; int Student::maxscore=0;

    17530

    学生成绩排序

    (2)、建立数据列表后,通过调用列表中的字典,取出学生成绩进行运算比较。...建立data_sum,list_tmp等成绩列表储存各个学生总成绩和单科成绩,对这些列表进行排序,然后利用列表进行学生的排序:循环遍历成绩列表中每一个数值,然后再在字典中遍历查找相同值,提取该值对应的字典的...(3)、注意到成绩可能出现重复情况,而相同成绩都按先录入排列在前的规则处理,因此想到两种处理方式(分别在sort_sum和sort_sin中体现): 利用pandas去除重复项,然后在字典中遍历找到相符值...(升序)为:", sort_list) sort_list.reverse() print("总成绩排名(降序)为:", sort_list) # 定义单项成绩排列函数 def sort_sin...("成绩排名如下:") sort_sum(l) sort_sin(l) 3 结语 针对学生成绩排序问题,使用函数,循环,建立data_sum,list_tmp等成绩列表储存各个学生总成绩和单科成绩方法,

    11010

    滑动窗口最大值

    滑动窗口最大值 给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。...示例 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出:[3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 -------------...我们可以通过维护一个单调递减的窗口来实现,当向右移动时左侧超出窗口的值弹出,因为需要的是窗口内的最大值,所以只要保证窗口内的值是递减的即可,即小于新加入的值全部弹出,最左端即为窗口最大值。...首先我们定义一个用来存储递减值的下标的窗口,以及存储最大值的组,之后循环给定的数组,如果当前遍历的数组值下标大于窗口大小并且递减下标窗口的第一个值是小于当前窗口,即第一个值在当前需要组合的窗口之外,就将其弹出...,之后从后向前遍历,如果递减窗口存在值且其中的值小于即将要加入的值就将其弹出,此时将当前遍历的值的下标加入递减窗口,最后如果窗口能够组合成k个就开始取最大值即递减窗口的第一个值,将其加入最大值组,循环结束后返回即可

    65610

    滑动窗口最大值

    返回滑动窗口中的最大值。 分析 对于每个滑动窗口,我们可以使用 O(k)O(k) 的时间遍历其中的每一个元素,找出其中的最大值。...解题 优先队列方式 思路与算法 对于「最大值」,我们可以想到一种非常合适的数据结构,那就是优先队列(堆),其中的大根堆可以帮助我们实时维护一系列元素中的最大值。...每当我们向右移动窗口时,我们就可以把一个新的元素放入优先队列中,此时堆顶的元素就是堆中所有元素的最大值。...然而这个最大值可能并不在滑动窗口中,在这种情况下,这个值在数组 {nums}nums 中的位置出现在滑动窗口左边界的左侧。...此时,堆顶元素就是滑动窗口中的最大值

    83800

    算法提高 成绩排序

    资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   给出n个学生的成绩,将这些学生按成绩排序,   排序规则,优先考虑数学成绩,高的在前;数学相同,英语高的在前;数学英语都相同,语文高的在前...;三门都相同,学号小的在前 输入格式   第一行一个正整数n,表示学生人数   接下来n行每行3个0~100的整数,第i行表示学号为i的学生的数学、英语、语文成绩 输出格式   输出n行,每行表示一个学生的数学成绩...、英语成绩、语文成绩、学号   按排序后的顺序输出 样例输入 2 1 2 3 2 3 4 样例输出 2 3 4 2 1 2 3 1 数据规模和约定   n≤100 import java.util.*;...public class 成绩排序 { public static class student { public int math; public int engilsh; public

    26910
    领券