答案正确,程序员的生活为什么这么枯燥,难过.jpg
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/**
* 1077
* @author quchu
* @date 2019/10/29
*/
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String [] count=br.readLine().split("[ ]");
List<Integer> results = new ArrayList<>();
int memberNum=Integer.parseInt(count[0]);
int maxScore=Integer.parseInt(count[1]);
//时间复杂度为O(n^2)
for (int i = 0; i < memberNum; i++) {
String [] scores=br.readLine().split("[ ]");
//在遍历的过程中获取最大值和最小值
int max=-1;//最大分数
int min=maxScore+1;//最小分数
for (int j = 1; j < scores.length; j++) {
int score=Integer.parseInt(scores[j]);
if(score>=0 && score<=maxScore){
if(score<min){
min=score;
}
if(score>max){
max=score;
}
}
}
int result=0;
int G1=Integer.parseInt(scores[0]);
double G2=0;
double countScore=0;
int temp=0;
//计算G2的值
int maxFlag=0;//用于标识最大分数的个数
int minFlag=0;//用于标识最小分数的个数
for (int j = 1; j < scores.length; j++) {
int score=Integer.parseInt(scores[j]);
if(score>=0 && score<=max &&score!=min&&score!=max){
countScore+=score;
temp++;
}
if( score == max){
maxFlag++;
if(maxFlag>1){
countScore+=score;
temp++;
}
}
if(score == min){
minFlag++;
if(minFlag>1){
countScore+=score;
temp++;
}
}
}
G2=countScore/temp;
result=(int)((G1+G2)/2+0.5);//获取最终值
results.add(result);
}
for (Integer result : results) {
System.out.println(result);
}
}
}