문제 링크입니다: https://www.acmicpc.net/problem/5617
5617번: 問題 1
三角形の形は辺の長さで決まる. 順番に3つの正整数が与えられたとき, 辺の長さがそれらの値と一致する三角形が存在するかどうかを調べ, 存在するなら鋭角三角形,直角三角形,鈍角
www.acmicpc.net
1. 삼각형 개수
2. 직각삼각형 개수
3. 예각삼각형 개수
4. 둔각삼각형 개수
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <vector> | |
#include <algorithm> | |
using namespace std; | |
const int MAX = 3; | |
enum Type | |
{ | |
TRIANGLE=0, | |
ANGLE, | |
ACUTE, | |
OBTUSE | |
}; | |
int main(void) | |
{ | |
ios_base::sync_with_stdio(0); | |
cin.tie(0); | |
int result[4] = { 0, }; | |
while (1) | |
{ | |
vector<int> sides(MAX); | |
for (int i = 0; i < MAX; i++) | |
{ | |
cin >> sides[i]; | |
} | |
sort(sides.begin(), sides.end()); | |
if (sides[0] + sides[1] <= sides[2]) | |
{ | |
break; | |
} | |
// 그냥 삼각형 | |
result[TRIANGLE]++; | |
// 직각삼각형 | |
if (sides[0] * sides[0] + sides[1] * sides[1] == sides[2] * sides[2]) | |
{ | |
result[ANGLE]++; | |
continue; | |
} | |
// 예각 | |
if (sides[0] * sides[0] + sides[1] * sides[1] > sides[2] * sides[2]) | |
{ | |
result[ACUTE]++; | |
continue; | |
} | |
// 둔각 | |
result[OBTUSE]++; | |
} | |
for (int i = 0; i < 4; i++) | |
{ | |
cout << result[i] << "\n"; | |
} | |
return 0; | |
} |


개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > BOJ' 카테고리의 다른 글
백준 7581번 Cuboids (0) | 2021.06.10 |
---|---|
백준 7523번 Gauß (0) | 2021.06.08 |
백준 7510번 고급 수학 (0) | 2021.06.05 |
백준 7015번 Millennium (0) | 2021.06.04 |
백준 6975번 Deficient, Perfect, and Abundant (0) | 2021.06.04 |