https://www.acmicpc.net/problem/19572
문제
가뭄에 찌든 신촌을 위해서 국렬이는 세 칸으로 구성되어 있는 신촌에 비를 내릴 것이다. 그러나 국렬이는 무능해서 각 칸마다 비를 내리지 못하고, 두 칸에 동일하게 비를 내리는 것만 할 수 있다.
1번째 칸, 2번째 칸에 동시에 뿌리는 비의 강수량을 a cm, 1번째 칸, 3번째 칸에 동시에 뿌리는 비의 강수량을 b cm, 2번째 칸, 3번째 칸에 동시에 뿌리는 비의 강수량을 c cm라고 하자. a, b, c는 모두 양의 실수여야 한다. 가뭄에 찌든 신촌이라도 비가 너무 많이 오면 상당히 곤란하고, 비가 너무 조금 와도 곤란하다. 그래서 각 칸에 해당하는 지역은 강수량이 정확히 di cm가 되어야 한다. 이때 정확한 a, b, c의 값을 구하여라.
입력
3개의 양의 정수가 입력으로 들어온다. 각각은 d1, d2, d3을 의미한다. (1 ≤ d1, d2, d3 ≤ 106)
출력
조건에 맞게 비를 내릴 수 없다면 -1을 출력한다.
조건에 맞게 비를 내릴 수 있다면 1을 출력하고, 다음 줄에 a, b, c를 소수 첫째 자리까지 반올림한 것을 공백으로 구분하여 출력한다.
예제 입력 1
4 4 4
예제 출력 1
1 2.0 2.0 2.0
예제 입력 2
1 2 3
예제 출력 2
-1
예제 입력 3
1 2 5
예제 출력 3
-1
예제 입력 4
5 8 6
예제 출력 4
1 3.5 1.5 4.5
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double d1 = sc.nextInt();
double d2 = sc.nextInt();
double d3 = sc.nextInt();
double a = (d1 + d2 + d3) / 2 - d3;
double b = (d1 + d2 + d3) / 2 - d2;
double c = (d1 + d2 + d3) / 2 - d1;
if (a <= 0 || b <= 0 || c <= 0) {
System.out.println(-1);
return;
} else {
System.out.println(1);
}
System.out.println(a + " " + b + " " + c);
}
}