http://acm.pku.edu.cn/JudgeOnline/problem?id=3507 原题
简单题
- import java.io.*;
- import java.util.*;
- public class Main
- {
- static Vector<String> grades;
- public static void main(String[] args) throws Exception
- {
- readData();
- }
- public static void readData() throws Exception
- {
- BufferedReader br = new BufferedReader(
- new InputStreamReader(System.in));
- grades = new Vector<String>();
- String sTemp = null;
- while(isOk(sTemp=br.readLine()))
- {
- grades.add(sTemp);
- }
- process();
- }
- public static boolean isOk(String str)
- {
- for(int i=0; i<str.length(); i+=2)
- {
- if(str.charAt(i)!=48)
- return true;
- }
- return false;
- }
- public static void process()
- {
- StringTokenizer st = null;
- StringBuffer ret = new StringBuffer();
- for(int i=0; i<grades.size(); i++)
- {
- st = new StringTokenizer(grades.get(i)," ");
- int iCount = 0;
- int sum = 0;
- int[] arrays = new int[st.countTokens()];
- while(st.hasMoreTokens())
- {
- arrays[iCount++] = Integer.valueOf(st.nextToken());
- }
- Arrays.sort(arrays);
- for(int ii=1; ii<arrays.length-1; ii++)
- {
- sum+=arrays[ii];
- }
- if(sum%(arrays.length-2)==0)
- ret.append(sum/(arrays.length-2));
- else
- {
- int temp = sum/(arrays.length-2);
- sum %= (arrays.length-2);
- ret.append((temp+(double)sum/(double)(arrays.length-2)));
- }
- if(i!=0)
- System.out.println();
- System.out.print(ret.toString());
- ret.delete(0,ret.length());
- }
- }
- }