UVA381 Making the Grade

题目描述

## 题目翻译 班上有 S 名学生,进行了 T 次考试,每个学生拥有 T + 2 个属性,其中前 T 个属性为该生每次考试的成绩 x ( 0 $\le$ x $\le$ 100),后面两个属性,第一个为该学生的奖励分 Bnd ,第二个为缺勤次数 Abst 。下面按优先级给出班级评价的计算机制: 1. 当 T $\ge$ 2 时,去掉每个学生的个人最低分(如果该生有多个个人最低分则仅删除一个),计算每个学生的基本个人平均分 Avg; 2. 选择所有学生的基本个人平均分计算班级平均分 mean ,并计算方差 sd,若 sd < 1,则选择 1 作为方差 sd; (给出方差计算公式: $$sd=\sqrt{\frac{\sum_{i=1}^{S}(Avg[i] - mean)^2}{S}}$$ 其中 Avg 、mean 、S 如上描述所示) 3. 学生拥有的每两分 Bnd 能使他的成绩上升 3% ,但单独的一分 Bnd 不能提供 +1.5% 分数的效果,依次计算学生的最终平均分 AdjAvg; 4. 当学生的 AdjAvg 满足以下效果时,该生将会被给予一个基本字母等级 Grade ,其中基本字母等级由高到低为 A,B,C,D,F: - AdjAvg $\ge$ mean + sd 时,给予 A ; - mean $\le$ AdjAvg < mean + sd 时,给予 B ; - mean - sd $\le$ AdjAvg < mean 时,给予 C ; - AdjAvg < mean - sd 时,给予 D ; 5. 每 4 次 Abst 将使学生降低一个字母等级,全勤( Abst = 0 )将使学生升高一个字母等级,但无论如何,学生的字母等级总为 A 或 B 或 C 或 D 或 F,依次计算学生的最终字母等级 AdjGrd; 6. 对于学生的 AdjGrd ,每个 A 提供 4 分,B 提供 3 分,C 提供 2 分,D 提供 1 分,F 提供 0 分,依此计算班级最终总分 grd pnt,并采用公式 avg grd pnt = grd pnt $\div$ S 计算班级最终平均分 avg grd pnt,结果保留一位小数。

输入格式

第一行,一个 n ,表示数据组数( 1 $\le$ n $\le$ 10 ); 对于接下来 n 组数据,每组数据: 第一行,输入 S,T,( 1 < S < 31,1 < T < 11); 接下来 S 行,每行 T + 2 个数,依次为 T 场考试的成绩、 Bnd 、 Abst;

输出格式

输出包括 n + 2 行; 第一行输出 "MAKING THE GRADE OUTPUT",不包括引号; 接下来 n 行,输出每组数据的最终班级平均分 avg grd pnt,结果保留一位小数; 最后一行,输出 "END OF OUTPUT",不包括引号。 感谢@炼金法爷biu 提供的翻译