1. A + B > C

2. A + B + C == N

3. B <= C

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();
}
}
view raw Main.java hosted with ❤ by GitHub

문제

같은 길이의 성냥개비가 여러 개 주어져 있다. 이것들을 평면에 늘어놓아서 삼각형을 만들려고 한다. 삼각형의 한 변은 여러 개의 성냥개비를 직선으로 이어서 만들 수 있지만, 성냥개비를 꺾거나 잘라서 변의 한 부분을 만들 수 는 없다. 성냥개비의 개수가 주어졌을 때, 이들 성냥개비를 사용하여 만들 수 있든 서로 다른 삼각형의 개수를 구하는 프로그램을 작성하시오.

예를 들어서 9개의 성냥개비로 만들 수 있는 서로 다른 삼각형은 그림 1과 같이 3가지이다.

<주의사항>

  1. 주어진 성냥개비는 모두 사용하여 하나의 삼각형을 만들어야 한다.
  2. 삼각형을 한 개도 만들 수 없으면 0을 출력한다. 예를 들어서, 주어진 성냥개비의 수가 1, 2, 또는 4인 경우에는 삼각형을 한 개도 만들 수 없다.
  3. 합동인 삼각형들은 같은 삼각형으로 본다. 예를 들어서 성냥개비 5개를 사용하여 만들수 있는 그림 2의 삼각형들은 같은 삼각형으로 본다.

입력

첫째 줄에 성냥개비의 개수가 주어진다. 성냥개비의 개수는 1 이상 50,000 이하이다.

출력

첫째 줄에 만들 수 있는 삼각형의 개수를 출력한다.


+ Recent posts