본문 바로가기
Study (etc)/Problem Solving

[BOJ / C++] 4153번 : 직각삼각형

by Haren 2022. 5. 3.

문제

과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.

입력

입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.

출력

각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.

Solved.ac 레벨

브론즈 III

풀이

#include <bits/stdc++.h>

using namespace std;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    while (true)
    {
        vector<int> vec;
        for(int i = 0; i < 3; i++){
            int num = 0;
            cin >> num;
            vec.push_back(num);
        }
        sort(vec.begin(), vec.end());

        int max = *max_element(vec.begin(), vec.end());

        if(vec[0] == 0 && vec[1] == 0 && vec[2] == 0){
            return 0;
        }
        else if((vec[0] * vec[0]) + (vec[1] * vec[1]) == (max * max)){
            cout << "right" << '\n';
        } else {
            cout << "wrong" << '\n';
        }
    }

}
 

4153번: 직각삼각형

입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.

www.acmicpc.net