[알고리즘]/백준

백준 2225 자바 - 합분해

broship 2021. 8. 8. 17:25

문제


https://www.acmicpc.net/problem/2225

 

2225번: 합분해

첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다.

www.acmicpc.net

 

 

 

문제해결


- 주석참고

import java.util.Scanner;

public class B2225_2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        int[][] dp = new int[201][201];

        // k=1, 정수 1개만으로 i를 만들어야 할때 무조건 1가지 경우밖에 없음
        for (int i = 1; i <= n; i++) {
            dp[i][1] = 1;
        }
        // n=1, 정수 j개로 1을 만드려면
        // 1: 1
        // 2: 1+0, 0+1
        // 3: 1+0+0, 0+1+0, 0+0+1
        // .... j개만큼의 경우가 있음
        for (int j = 1; j <= k; j++) {
            dp[1][j] = j;
        }

        //dp[n][k] = dp[n-1][k] + dp[n][k-1]
        for (int i = 2; i <= n; i++) {
            for (int j = 2; j <= k; j++) {
                dp[i][j] = (dp[i-1][j] + dp[i][j-1]) % 1000000000;
            }
        }

        System.out.println(dp[n][k]);
    }
}

참고:

https://yeoeun-ji.tistory.com/49

 

[Java] 백준 2225번 합분해

https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 설명 0~N까지 정수에서 K를 더해 합이 N이 되는 경우의 수를 구하는 것...

yeoeun-ji.tistory.com

 

https://hu-coding.tistory.com/28

 

[JAVA] 백준 2225번 : 합분해

2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 - 0부터 N까지의 정수 K개를 더해서 그 합이 N이 되는 경우의 수를 구하는 프로그램 - 덧셈의 순서가 바뀐

hu-coding.tistory.com