문제
같은 길이의 성냥개비가 여러 개 주어져 있다. 이것들을 평면에 늘어놓아서 삼각형을 만들려고 한다. 삼각형의 한 변은 여러 개의 성냥개비를 직선으로 이어서 만들 수 있지만, 성냥개비를 꺾거나 잘라서 변의 한 부분을 만들 수는 없다. 성냥개비의 개수가 주어졌을 때, 이들 성냥개비를 사용하여 만들 수 있든 서로 다른 삼각형의 개수를 구하는 프로그램을 작성하시오.
예를 들어서 9개의 성냥개비로 만들 수 있는 서로 다른 삼각형은 그림 1과 같이 3가지이다.
<주의사항>
- 주어진 성냥개비는 모두 사용하여 하나의 삼각형을 만들어야 한다.
- 삼각형을 한 개도 만들 수 없으면 0을 출력한다. 예를 들어서, 주어진 성냥개비의 수가 1, 2, 또는 4인 경우에는 삼각형을 한 개도 만들 수 없다.
- 합동인 삼각형들은 같은 삼각형으로 본다. 예를 들어서 성냥개비 5개를 사용하여 만들수 있는 그림 2의 삼각형들은 같은 삼각형으로 본다.
입력
첫째 줄에 성냥개비의 개수가 주어진다. 성냥개비의 개수는 1 이상 50,000 이하이다.
출력
첫째 줄에 만들 수 있는 삼각형의 개수를 출력한다.
예제 입력 1
9 |
예제 출력 1
3 |
더보기
Solution
#include<stdio.h>
int main(void)
{
int N, count=0;
scanf("%d", &N);
for(int i=1;i*3<=N;i++)
for(int j=i;i+2*j<=N;j++)
count+=2*(i+j)>N;
printf("%d\n", count);
return 0;
}
728x90
'백준 알고리즘' 카테고리의 다른 글
<백준 알고리즘> 2163번: 초콜릿 자르기 (0) | 2020.12.22 |
---|---|
<백준 알고리즘> 2669번: 직사각형 네개의 합집합의 면적 구하기 (0) | 2020.12.22 |
<백준 알고리즘> 2548번: 대표 자연수 (0) | 2020.12.22 |
<백준 알고리즘> 10163번: 색종이 (0) | 2020.12.22 |
<백준 알고리즘> 10815번: 숫자 카드 (0) | 2020.12.21 |