문제
가뭄에 찌든 신촌을 위해서 국렬이는 세 칸으로 구성되어 있는 신촌에 비를 내릴 것이다. 그러나 국렬이는 무능해서 각 칸마다 비를 내리지 못하고, 두 칸에 동일하게 비를 내리는 것만 할 수 있다.
1번째 칸, 2번째 칸에 동시에 뿌리는 비의 강수량을 a cm, 1번째 칸, 3번째 칸에 동시에 뿌리는 비의 강수량을 b cm, 2번째 칸, 3번째 칸에 동시에 뿌리는 비의 강수량을 c cm라고 하자. a, b, c는 모두 양의 실수여야 한다. 가뭄에 찌든 신촌이라도 비가 너무 많이 오면 상당히 곤란하고, 비가 너무 조금 와도 곤란하다. 그래서 각 칸에 해당하는 지역은 강수량이 정확히 di cm가 되어야 한다. 이때 정확한 a, b, c의 값을 구하여라.
입출력 예시
해결
const fs = require('fs');
const { start } = require('repl');
const stdin = (process.platform === 'linux'
? fs.readFileSync('/dev/stdin').toString()
: `5 8 6`
).match(/[^\r\n]+/g);
const input = (() => {
let line = 0;
return () => stdin[line++];
})();
const [d1,d2,d3] = input().split(' ').map(Number)
// d1 = a+b, d2 = a+c, d3 = b+c
// d1 + d2 = a+b+a+c
// d1 + d2 = 2a + d3
// d1 + d2 - d3 = 2a
// d1 + d2 - d3 / 2 = a
const a = (d1 + d2 - d3) / 2
const b = (d1 + d3 - d2) / 2
const c = (d2 + d3 - d1) / 2
let isSuccess = 1;
if (a <= 0 || b <= 0 || c <= 0){
isSuccess = -1
}
console.log(isSuccess)
isSuccess > 0 ? console.log(a.toFixed(1),b.toFixed(1),c.toFixed(1)): null;
'개발 공부 > Algorithm' 카테고리의 다른 글
[백준/Node.js] 지영 공주님의 마법 거울 (0) | 2023.03.30 |
---|---|
[백준/Node.js] 시간과 날짜 (0) | 2023.03.25 |
[백준/Node.js] 주사위 네개 (0) | 2023.03.24 |
[백준/Node.js] 오늘도 졌다 (0) | 2023.03.23 |
[백준/Node.js] 블랙잭 (0) | 2023.03.22 |