Algorithm/BOJ(Baekjoon Online Judge)

[백준 - 13699번] 점화식 - Java //Wello Horld //

koucop 2020. 3. 9. 16:34

 

이번에는 BOJ의 13699번 문제 "점화식" 을 풀어보도록 하자

 

 

입력으로 첫째 줄에 n 이 주어진다.

출력으로 점화식의 결과값을 출력하면 되는 문제이다.

성공한 코드는 아래와 같다.

 

import java.io.*;
import java.util.*;

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));

        long[] ans = new long[36];
        ans[0] = 1;
        for(int i = 1; i <= 35; i ++){
            int temp = i;
            while(temp != 0){
                ans[i] += ans[i - temp] * ans[temp - 1];
                temp--;
            }
        }
        int n = Integer.parseInt(br.readLine());
        bw.write(ans[n] + "\n");

        bw.flush();
        br.close();
        bw.close();
    }
}

 

문제 : https://www.acmicpc.net/problem/13699

 

13699번: 점화식

다음의 점화식에 의해 정의된 수열 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)을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

혹시 코드에 이상한 부분이나 틀린 부분이 있던지, 이해가 안가는 부분이 있다면 댓글로 알려주세요