728x90
728x170
문제
삼각형의 세 변의 길이가 주어질 때 변의 길이에 따라 다음과 같이 정의한다.
- Equilateral : 세 변의 길이가 모두 같은 경우
- Isosceles : 두 변의 길이만 같은 경우
- Scalene : 세변의 길이가 모두 다른 경우
단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 "Invalid" 를 출력한다. 예를 들어 6, 3, 2 가 주어지면 가장 긴 변인 6 은 다른 두 변의 합보다 크기 때문에 삼각형의 조건을 만족하지 못한다.
세 변의 길이가 주어질 때 위 정의에 따른 결과를 출력하시오.
입력
각 줄은 1000 을 넘지 않는 양의 정수 3개가 입력되며 0 0 0 이 입력되면 종료한다.
출력
각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오.
예제 입력
7 7 7 6 5 4 3 2 5 6 2 6 0 0 0 |
예제 출력
Equilateral Scalene Invalid Isosceles |
힌트
출처
ACM-ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest > NZPC 2012 B번
· 문제의 오타를 찾은 사람: corea lety
· 문제를 번역한 사람: john6014
· 잘못된 데이터를 찾은 사람: kookmin20103324
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #include <iostream> #include <algorithm> // sort() using namespace std; int main() { int num[3]; while (1) { cin >> num[0] >> num[1] >> num[2]; sort(num, num + 3); if ((num[0] != 0) && (num[1] != 0) && (num[2] != 0)) { if (num[2] >= num[0] + num[1]) { cout << "Invalid" << endl; } else { if ((num[0] == num[1]) && (num[1] == num[2]) && (num[0] == num[2])) { cout << "Equilateral" << endl; } else if ((num[0] == num[1]) || (num[1] == num[2])) { cout << "Isosceles" << endl; } else { cout << "Scalene" << endl; } } } else { break; } } return 0; } | cs |
- 삼각형의 성립 조건 : 가장 큰 변의 길이 <= 다른 두 변의 길이의 합
728x90
그리드형(광고전용)
'Problem Solving > BaekJoon Online Judge' 카테고리의 다른 글
[BOJ10992][C++] 별찍기 - 17 (0) | 2017.11.12 |
---|---|
[BOJ10991][C++] 별찍기 - 16 (0) | 2017.11.12 |
[BOJ10990][C++] 별찍기 - 15 (0) | 2017.11.12 |
[BOJ3047][C++] ABC (0) | 2017.11.11 |
[BOJ10101][C++] 삼각형 외우기 (0) | 2017.11.10 |
[BOJ4153][C++] 직각삼각형 (0) | 2017.11.10 |
[BOJ5565][C++] 영수증 (0) | 2017.11.09 |
[BOJ12790][C++] Mini Fantasy War (0) | 2017.11.09 |