간단하게 우리가 알고 있는 피타고라스를 쓰면 된다. 대신 컴퓨터는 항상 정확한 루트 값을 갖고 온다는 가정을 할 수 없기 때문에,
\(가장 긴 변 = \sqrt{한 변^2 + 다른 한 변^2}\) 이 아닌
\(가장 긴 변^2 = 한 변^2 + 다른 한 변^2\) 을 만족하는지 확인한다.
당연하게도 가장 긴 변은 빗변이겠지만, 문제에서 빗변이 어떤 것인지 입력으로 알려주지 않기 때문에 입력을 받아 가장 긴 변을 빗변으로 설정해주어야 한다.
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
vector<int> v(3);
while (true) {
cin >> v[0] >> v[1] >> v[2];
if (v[0] == 0 && v[1] == 0 && v[2] == 0)
break;
sort(v.begin(), v.end());
if (v[2] * v[2] == v[0] * v[0] + v[1] * v[1]){
cout << "right\n";
}
else{
cout << "wrong\n";
}
}
return 0;
}
'BOJ_단계별로 풀어보기(9단계~) > [8단계] 기본 수학2' 카테고리의 다른 글
[백준 1002] 터렛 (0) | 2021.07.29 |
---|---|
[백준 3053] 택시 기하학 (0) | 2021.07.29 |
[백준 3009] 네번째 점 (0) | 2021.07.28 |
[백준 1085] 직사각형에서 탈출 (0) | 2021.07.28 |
[백준 9020] 골드바흐의 추측 (0) | 2021.07.25 |