BOJ: 4153 직각삼각형

최대 1 분 소요

문제

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

Reference

입력

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

출력

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

예제 입력 1

6 8 10
25 52 60
5 12 13
0 0 0

예제 출력 1

right
wrong
right


코드

#include <bits/stdc++.h>

using namespace std;

int main(void) {

    while(1) {
        vector<int> v;
        int count = 0;
        int mod=0, org=0;

        for(int j=0; j<3; j++) {
            int i;

            cin>>i;

            v.push_back(i);
        }

        for(int j=0; j<3; j++)
            if(v[j] == 0)
                count++;

        if(count == 3)
            break;

        int index = max_element(v.begin(), v.end()) - v.begin();

        for(int j=0; j<3; j++)
            if(j != index)
                mod += (v[j] * v[j]);
            else
                org += (v[j] * v[j]);

    
        if(org == mod)
            cout<<"right\n";
        else
            cout<<"wrong\n";

    }

    return 0;
}

Reference

BOJ

태그:

카테고리:

업데이트:

댓글남기기