1. 문제 = 답
2. 오버플로 조심
import java.util.*; | |
import java.io.*; | |
/** | |
* https://www.acmicpc.net/problem/13699 | |
* BOJ 백준온라인져지 13699 점화식 풀이 | |
*/ | |
public class Main { | |
private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); | |
public static void main(String args[]) throws IOException { | |
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); | |
int N = Integer.parseInt(br.readLine()); | |
long t[] = new long[N + 1]; | |
t[0] = 1; | |
for (int i = 1; i <= N; i++) { | |
for (int j = 0; j < i; j++) { | |
t[i] += t[j] * t[i - 1 - j]; | |
} | |
} | |
bw.write(String.valueOf(t[N])); | |
bw.flush(); | |
} | |
} |
문제
다음의 점화식에 의해 정의된 수열 t(n)을 생각하자:
- t(0)=1
- t(n)=t(0)*t(n-1)+t(1)*t(n-2)+...+t(n-1)*t(0)
이 정의에 따르면,
- t(1)=t(0)*t(0)=1
- t(2)=t(0)*t(1)+t(1)*t(0)=2
- t(3)=t(0)*t(2)+t(1)*t(1)+t(2)*t(0)=5
- ...
주어진 입력 0 ≤ n ≤ 35에 대하여 t(n)을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 n (0 ≤ n ≤ 35)이 주어진다.
출력
첫째 줄에 t(n)을 출력한다.
예제 입력 1
3
예제 출력 1
5
예제 입력 2
25
예제 출력 2
4861946401452
힌트
출처
University > 홍익대학교 > 홍익대학교 프로그래밍 경진대회 2016 B번
'IT > 알고리즘' 카테고리의 다른 글
BOJ 백준온라인져지 2470 두 용액 풀이 (0) | 2018.05.04 |
---|---|
BOJ 백준온라인져지 5585 거스름돈 풀이 (0) | 2018.05.03 |
BOJ 백준온라인져지 2331 반복수열 풀이 (0) | 2018.05.02 |
BOJ 백준온라인져지 1015 수열 정렬 풀이 (0) | 2018.05.01 |
BOJ 백준온라인져지 11945 뜨거운 붕어빵 풀이 (0) | 2018.04.30 |