得分若是奇數 或 總和<差都是impossible
------------------------------------------
#include <stdio.h>
int main()
{
double sum, diff, a, b; /* difference */
int _case;
scanf("%d", &_case);
while(_case--)
{
scanf("%lf%lf", &sum, &diff);
a = (sum + diff) / 2;
b = (sum - diff) / 2;
if(a == (int)a && b == (int)b && sum >= diff) /* Scores are always integers and sum is greater and equal to difference. */
printf("%d %d\n", (int)a, (int)b);
else
printf("impossible\n");
}
return 0;
}
----2017-06-24----
import java.util.*;
public class main{
public static void main(String[] args) {
try {
Scanner sc = new Scanner(System.in);
int cases = sc.nextInt();
while (cases-- > 0) {
int x, sum = sc.nextInt(), diff = sc.nextInt();
if (sum < diff) {
System.out.println("impossible");
continue;
}
double result = (sum + diff) / 2.0;
if (Math.floor(result) != result) { // Non-integer
System.out.println("impossible");
continue;
}
x = (sum + diff) / 2;
System.out.println("" + x + " " + (sum - x));
}
} catch (Exception e) {
}
}
};
留言列表