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 提供的翻译