[문제] https://www.acmicpc.net/problem/19572
19572번: 가뭄(Small)
3개의 양의 정수가 입력으로 들어온다. 각각은 d1, d2, d3을 의미한다. (1 ≤ d1, d2, d3 ≤ 106)
www.acmicpc.net
[풀이]
✨주요 포인트
-수학 문제다. 미지수 3개짜리 방정식으로 접근해서 식을 구성하면 풀린다.
✨알고리즘
1. a, b, c를 입력받는다.
2. 방정식을 풀어준다.
3. 방정식을 풀었을 때, a/b/c 중에 하나라도 음수가 나온다면 이는 불가능한 케이스라는 뜻이다. '-1'를 출력하고 끝낸다.
4. 아니라면, '1'을 출력하고 a/b/c를 출력한다.
(전체 코드)
#include <iostream> using namespace std; int main() { cin.tie(0); cout.tie(0); ios::sync_with_stdio(false); float d[3]; float a = 0, b = 0, c = 0; for (int i = 0; i < 3; i++) cin >> d[i]; b = (d[0] - d[1] + d[2]) / 2; c = d[2] - b; a = d[0] - b; if (a <= 0 || b <= 0 || c <= 0) cout << "-1"; else { cout << "1" << "\n"; //소수점 하나만 출력 cout << fixed; cout.precision(1); cout << a << ' ' << b << ' ' << c; } }
[백준] 19576번 약수 (c++) (0) | 2021.08.19 |
---|---|
[백준] 1449번 수리공 항승 (c++) (0) | 2021.07.10 |
[백준] 1157번 단어 공부 (c++) (0) | 2021.07.07 |
[백준] 4673번 셀프 넘버 (c++) (0) | 2021.07.05 |
[백준] 1712번 손익분기점 (c++) (0) | 2021.07.05 |
댓글 영역