백준 2225번 : 합분해

반응형

스크린샷 2023-03-07 오후 8.40.47.png
https://www.acmicpc.net/problem/2225

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
int n;
int k;
int[][] dp;
public void solution() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
n = Integer.parseInt(st.nextToken());
k = Integer.parseInt(st.nextToken());
dp = new int[k+1][n+1];
Arrays.fill(dp[1], 1);
for(int i=1; i<=k; i++) dp[i][0] = 1;
for(int i = 2; i<=k; i++){
for(int j = 1; j<=n; j++){
dp[i][j] = (dp[i-1][j]+ dp[i][j-1])%1000000000;
}
}
System.out.println(dp[k][n]);
}
public static void main(String[] args) throws IOException {
new Main().solution();
}
}

이런 씽크빅 같은건 어떻게 해야 생각할 수 있는지 모르겠다.

다른 블로그를 참조했다. 사진 한장으로 모든 설명이 가능하다.

스크린샷 2023-03-07 오후 8.49.56.png
https://nahwasa.com/entry/%EB%B0%B1%EC%A4%80-2225-%EC%9E%90%EB%B0%94-%ED%95%A9%EB%B6%84%ED%95%B4-BOJ-2225-JAVA

 

반응형