1. A + B > C
2. A + B + C == N
3. B <= C
This file contains 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
import java.util.*; | |
import java.io.*; | |
/** | |
* https://www.acmicpc.net/problem/2622 | |
* BOJ 백준온라인져지 2622 삼각형 풀이 | |
*/ | |
public class Main { | |
public static void main (String args[]) throws IOException{ | |
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); | |
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); | |
int N = Integer.parseInt(br.readLine()); | |
int cnt = 0; | |
for (int i = 1; 0 < N - i; i++) { | |
for (int j = i; j <= N - i - j; j++) { | |
int longlong = N - i - j; | |
if (i + j > longlong) cnt++; | |
} | |
} | |
bw.write(String.valueOf(cnt)); | |
bw.flush(); | |
} | |
} |
문제
같은 길이의 성냥개비가 여러 개 주어져 있다. 이것들을 평면에 늘어놓아서 삼각형을 만들려고 한다. 삼각형의 한 변은 여러 개의 성냥개비를 직선으로 이어서 만들 수 있지만, 성냥개비를 꺾거나 잘라서 변의 한 부분을 만들 수 는 없다. 성냥개비의 개수가 주어졌을 때, 이들 성냥개비를 사용하여 만들 수 있든 서로 다른 삼각형의 개수를 구하는 프로그램을 작성하시오.
예를 들어서 9개의 성냥개비로 만들 수 있는 서로 다른 삼각형은 그림 1과 같이 3가지이다.
<주의사항>
- 주어진 성냥개비는 모두 사용하여 하나의 삼각형을 만들어야 한다.
- 삼각형을 한 개도 만들 수 없으면 0을 출력한다. 예를 들어서, 주어진 성냥개비의 수가 1, 2, 또는 4인 경우에는 삼각형을 한 개도 만들 수 없다.
- 합동인 삼각형들은 같은 삼각형으로 본다. 예를 들어서 성냥개비 5개를 사용하여 만들수 있는 그림 2의 삼각형들은 같은 삼각형으로 본다.
입력
첫째 줄에 성냥개비의 개수가 주어진다. 성냥개비의 개수는 1 이상 50,000 이하이다.
출력
첫째 줄에 만들 수 있는 삼각형의 개수를 출력한다.
'IT > 알고리즘' 카테고리의 다른 글
BOJ 백준온라인져지 6603 로또 풀이 (0) | 2018.04.06 |
---|---|
BOJ 백준온라인져지 2641 다각형그리기 풀이 (0) | 2018.04.05 |
BOJ 백준온라인져지 2548 대표 자연수 풀이 (0) | 2018.04.03 |
BOJ 백준온라인져지 8979 올림픽 풀이 (0) | 2018.04.03 |
BOJ 백준온라인져지 2437 저울 풀이 (0) | 2018.04.02 |