📄 3447723_ac_391ms_3060k.java
字号:
import java.util.*;
import java.math.*;
public class Main {
private Scanner in;
public static void main(String [] args) {
System.out.println("MAKING THE GRADE OUTPUT");
new Main().run();
System.out.println("END OF OUTPUT");
}
private void run() {
in = new Scanner (System.in);
int cas;
int s, t;
float [][] info;
int [] bonus;
int [] absent;
float [] average;
float sum, avg, sd;
int [] grade;
cas = in.nextInt();
while (cas-- > 0) {
s = in.nextInt();
t = in.nextInt();
sum = 0;
grade = new int [s];
info = new float [s][t];
bonus = new int [s];
absent = new int [s];
average = new float [s];
for (int i = 0; i < s; i++) {
for (int j = 0; j < t; j++) {
info[i][j] = in.nextFloat();
}
bonus[i] = in.nextInt();
absent[i] = in.nextInt();
Arrays.sort(info[i]);
average[i] = (float)0.0;
for (int j = 0; j < t; j++) {
average[i] += info[i][j];
}
if (t > 2) {
average[i] = (average[i] - info[i][0]) / (t - 1);
} else {
average[i] /= t;
}
average[i] = (float)Math.round(average[i] * (float)10.0) / (float)10.0;
sum += average[i];
}
avg = sum / s;
avg = (float)Math.round(avg * (float)10.0) / (float)10.0;
sum = 0;
for (int i = 0; i < s; i++) {
sum += (avg - average[i]) * (avg - average[i]);
}
sum /= s;
sd = (float)Math.sqrt(sum);
sd = (float)Math.round(sd * (float)10.0) / (float)10.0;
if (sd < 1.0) {
sd = (float)1.0;
}
for (int i = 0; i < s; i++) {
average[i] = average[i] + bonus[i] / 2 * 3;
}
for (int i = 0; i < s; i++) {
if (average[i] >= (avg + sd)) {
grade[i] = 4;
} else {
if (average[i] >= avg) {
grade[i] = 3;
} else {
if (average[i] >= avg - sd) {
grade[i] = 2;
} else {
grade[i] = 1;
}
}
}
}
for (int i = 0; i < s; i++) {
grade[i] -= (absent[i] / 4);
if (grade[i] < 0) {
grade[i] = 0;
}
}
for (int i = 0; i < s; i++) {
if((grade[i] != 4) && (absent[i] == 0)) {
grade[i]++;
}
}
sum = 0;
for (int i = 0; i < s; i++) {
sum += grade[i];
}
float ans;
ans = sum / s;
ans = (float)Math.round(ans * (float)10.0) / (float)10.0;
System.out.println(ans);
}
in.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -