-
Description:
-
Grading hundreds of thousands of graduate Entrance exams is a hard work. it is even harder to design a process to make the results as fair as possible. one way is to assign each exam problem to 3 independent experts. if they do not agree to each other,
A judge is invited to make the final demo-. now you are asked to write a program to help this process.
For each problem, there is a full-Mark P and a tolerance t (<p) given. The grading rules are:
• A problem will first be assigned to 2 experts, to obtain G1 and G2. if the difference is within the tolerance, that is, if | G1-G2 | ≤ t, this problem's grade will be the average of G1 and G2.
• If the difference exceeds t, the 3rd Expert will give G3.
• If G3 is within the tolerance with either G1 or G2, but not both, then this problem's grade will be the average of G3 and the closest grade.
• If G3 is within the tolerance with both G1 and G2, then this problem's grade will be the maximum of the three grades.
• If G3 is within the tolerance with neither G1 nor G2, a judge will give the final grade gj.
-
Input:
-
Each input file may contain in more than one test case.
Each case occupies a line containing six positive integers: P, T, G1, G2, G3, and gj, as described in the problem. it is guaranteed that all the grades are valid, that is, in the interval [0, P].
-
Output:
-
For each test case you shoshould output the final grade of the problem in a line. The answer must be accurate to 1 decimal place.
-
Sample input:
-
20 2 15 13 10 18
-
Sample output:
-
14.0
Import Java. io. bufferedinputstream; import Java. util. extends; public class main {/*** @ Param ARGs */public static void main (string [] ARGs) {using CIN = new using (New bufferedinputstream (system. in); int P, T, G1, G2, G3, gj; double finalgrade; while (CIN. hasnext () {P = cin. nextint (); t = cin. nextint (); G1 = cin. nextint (); g2 = cin. nextint (); G3 = cin. nextint (); GJ = cin. nextint (); If (math. ABS (G1-G2) <= T) {finalgrade = (double) (G1 + G2)/2;} else if (math. ABS (G3-G1) <= T) & (math. ABS (G3-G2) <= T) {If (G1> G2) {finalgrade = G1;} else {finalgrade = G2;} If (finalgrade <G3) {finalgrade = G3 ;}} else if (math. ABS (G3-G1) <= T) {finalgrade = (double) (G3 + G1)/2;} else if (math. ABS (G3-G2) <= T) {finalgrade = (double) (G3 + G2)/2;} else {finalgrade = GJ;} system. out. printf ("%. 1f \ n ", finalgrade );}}} /*************************************** * *********************** problem: 1002 User: Recall, Zhan language: Java result: accepted time: 180 MS memory: 17080 kb ************************************** **************************/