Algorithms/BOJ[Java]
[백준/2921번] 도미노(COCI 2009/2010)[Java]
Blue___
2020. 1. 12. 22:44
문제
도미노는 여러 종류의 타일 게임에서 사용하는 조각이다. 도미노 조각은 두 칸으로 이루어져 있다. 각 칸에는 점이 찍혀있는데, 점이 안 찍혀져 있을 수도 있다. 점의 개수는 세트의 크기에 의해서 결정된다. 세트의 크기가 N인 도미노 세트에서 점의 개수는 0보다 크거나 같고, N보다 작거나 같다. 두 도미노에 찍혀잇는 점의 개수가 같다면, 두 도미노는 동일한 것이다. 예를 들어, 점이 2개와 8개 찍혀있는 도미노는 8개와 2개 찍혀있는 도미노와 같은 도미노이다.
크기가 N인 도미노 세트는 N 또는 그보다 작거나 같은 점을 포함하는 가능한 도미노를 모두 포함하고 있고, 각 도미노는 중복되지 않는다. 다음은 크기가 2인 도미노 세트이다.
N을 입력받은 뒤, 크기가 N인 도미노 세트에는 점이 몇 개 찍혀 있는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 도미노 세트의 크기 N (1 ≤ N ≤ 1000)이 주어진다.
출력
크기가 N인 도미노 세트에 찍혀있는 점의 개수를 출력한다.
풀이
수학적 접근이 필요한 문제.
규칙성을 찾는다.
예제를 보면 처음부터 시작해서 [0,0],[0,1],[0.2],[1,1],[1,2],[2,2]의 구성으로 이루어졌으며 이것의 합은 12이다.
이것을 반복문으로 처리하면 정답. ㅇㅅㅇ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public class Main {
public static void main(String args[]) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n= Integer.parseInt(br.readLine());
int sum =0;
for(int i = 0; i <= n; i++){
for(int j = i; j <= n; j++){
sum = sum + i + j;
}
}
}
}
|
https://www.acmicpc.net/problem/2921
반응형