반응형
https://www.acmicpc.net/problem/8723
8723번: Patyki
Pierwszy wiersz wejścia zawiera trzy liczby całkowite a, b, c (1 ≤ a, b, c ≤ 1000), oznaczające odpowiednio długości pierwszego, drugiego i trzeciego patyka.
www.acmicpc.net
수식을 세우고 분기문을 사용해보는 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
방 3개인 일차원 배열 a, 정삼각형인지 직각삼각형인지 판별하는 bool 변수 f1, f2 를 선언합니다. 그 후 세 수를 입력받습니다. 그 세 수를 오름차순으로 정렬합니다.
📔 풀이과정
1. 세 수가 모두 같으면 정삼각형이므로 f1을 true로 저장합니다. 2. 가장 긴 빗변(a[2])^2 = a[0]^2 + a[1]^2라면 직각삼각형이므로 f2를 true로 저장합니다.
📔 정답출력
조건에 맞게 출력합니다.
1. !f1 && !f2면 0
2. !f1 && f2면 1
3. f1 && !f2면 2를 출력합니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int a[3];
bool f1, f2; //정삼각형이면 f1 = true, 직각삼각형이면 f2 = true
int main(){
cin >> a[0] >> a[1] >> a[2];
sort(a, a + 3);
if(a[0] == a[1] && a[1] == a[2]) f1 = true;
if(a[2] * a[2] == a[0] * a[0] + a[1] * a[1]) f2 = true;
if(!f1 && !f2) cout << 0;
if(!f1 && f2) cout << 1;
if(f1 && !f2) cout << 2;
}
'Algorithm > Math' 카테고리의 다른 글
(C++) - 백준(BOJ) 19939번 : 박 터뜨리기 (0) | 2021.09.26 |
---|---|
(C++) - 백준(BOJ) 12833번 : XORXORXOR (0) | 2021.09.24 |
(C++) - 백준(BOJ) 21771번 : 가희야 거기서 자는 거 아니야 (0) | 2021.09.13 |
(C++) - 백준(BOJ) 8718번 : Bałwanek (0) | 2021.09.12 |
(C++) - 백준(BOJ) 6768번 : Don’t pass me the ball! (0) | 2021.09.10 |