본문 바로가기

Algorithm

C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 5073번:삼각형과 세 변 답

반응형
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
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
using namespace std;
int a[3],big,cnt,index,sum;
int main() {
    while (1)
    {
        cin >> a[0>> a[1>> a[2];
        if (a[0== && a[1== && a[2== 0) { break; }
        cnt = 0;
        sum = 0;
        big = 0;
        for (int i = 0; i < 2; i++)
        {
            for (int j = i + 1; j < 3; j++)
            {
                if (a[i] == a[j])
                    cnt++;
            }
        }
        if (cnt == 3)
        {
            cout << "Equilateral" << '\n';
        }
        else if (cnt == 1)
        {
            cout << "Isosceles" << '\n';
        }
        else if (cnt == 0)
        {
            for (int i = 0; i < 3; i++)//가장 큰 변의 길이와 그 index 저장
            {
                if (big < a[i])
                {
                    big = a[i];
                    index = i;
                }
            }
            for (int i = 0; i < 3; i++)//가장 큰 변을 제외한 나머지 두 변의 합을 두함
            {
                if (i != index)
                    sum += a[i];
            }
            if (sum <= big)//나머지 두 변 길이의 합보다 가장 큰 변이 더 크거나 같다면
                cout << "Invalid" << '\n';
            else
                cout << "Scalene" << '\n';
        }
    }
}
cs