티스토리 뷰
문제링크 : https://www.acmicpc.net/problem/2622
#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
int arr[51];
int main() {
int N, cnt=0;
cin >> N;
for(int i=1; i<=N; i++)
{
for(int j=i; j<N; j++)
{
int tmp = N-i-j; //가장 큰 변
if(j <= tmp && i+j>tmp) cnt++;
}
}
cout << cnt;
return 0;
}
삼각형의 조건은, 가장 큰 변의 길이가 나머지 두 변의 합보다 작아야 한다는 것이다.
따라서 2중 반복문을 통해 가장 큰 변을 하나 고정시켜놓고, 값 조절을 통해 가능한 경우를 모두 카운팅한다.
'백준 > 실버' 카테고리의 다른 글
[백준 24039번] 2021은 무엇이 특별할까? (0) | 2025.06.24 |
---|---|
[백준 2980번] 도로와 신호등 (C++) (0) | 2025.06.24 |
[백준 13251번] 조약돌 꺼내기 (C++) (0) | 2025.06.16 |
[백준 1124번] 언더프라임 (C++) (0) | 2025.06.15 |
[백준 9009번] 피보나치 (C++) (0) | 2025.06.11 |