解题思路:
这道题的思路并不难,就是一个超时的问题,暂时还不知道该怎么处理。
在分配考场的时候,假如说选中了m个人去考试,分为k个考场,那么我们将这m个人的成绩进行排序,选取成绩最好的(k-1)个人,每人单独分配到一个考场(也就是说一个考场只有一个人),将剩下的m-(k-1)个人分配到最后一个考场。计算每个考场的平均分,然后将各个考场的平均分求和除以k就能得到结果了。
注意事项:
参考代码:
n = int(input().strip()) stu = [0] stu = stu + [int(i) for i in input().strip().split()] time = int(input().strip()) for t in range(time): temp = [int(it) for it in input().strip().split()] if temp[0] == 2: l = temp[1] r = temp[2] k = temp[3] cho = stu[l:r+1] cho.sort() class1 = (r-l+1)-(k-1) ave = sum(cho[:class1])/class1 ave = ave + sum(cho[class1:]) ave_ave = ave / k print('%.3f' % ave_ave) elif temp[0] == 1: stu[temp[1]] = temp[2]
0.0分
0 人评分
【偶数求和】 (C语言代码)记得sum的归零时机浏览:989 |
C语言程序设计教程(第三版)课后习题3.7 (C++代码)浏览:1024 |
矩阵转置 (C语言代码)浏览:1565 |
C二级辅导-统计字符 (C语言代码)浏览:528 |
多输入输出练习1 (C语言代码)浏览:1219 |
C语言训练-排序问题<1> (C语言代码)浏览:636 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:613 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:732 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:512 |