BOJ 19572 가뭄(Small)


사용한 알고리즘

  • 수학

알고리즘 설명

\(d_1 = a + b,\) \(d_2 = a + c,\) \(d_3 = b + c\)

\(a = \frac{d_1+d_2-d_3}{2},\) \(b = \frac{d_1+d_3-d_2}{2},\) \(c = \frac{d_2+d_3-d_1}{2}\)

  • 모든 a, b, c 값이 0보다 큰 값이어야 한다.
  • 여기서 2번째 자리에서 반올림하기 때문에 0.05 미만이면 0이다.

풀이

// baekjoon 19572 yechan
#include <bits/stdc++.h>
using namespace std;

float d1,d2,d3;
float a, b, c;

int main() {
    scanf("%f%f%f", &d1, &d2, &d3);
    a = (d1+d2-d3)/2;
    b = (d1-d2+d3)/2;
    c = (-d1+d2+d3)/2;
    if (a >= 0.05 && b >= 0.05 && c >= 0.05) printf("1\n%.1f %.1f %.1f\n", a, b, c);
    else puts("-1");
    return 0;
}



© 2020.08. by fbdp1202

Powered by theorydb