문제
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
'[알고리즘] > 백준' 카테고리의 다른 글
백준 1149 자바 - RGB거리 (0) | 2021.09.06 |
---|---|
백준 15988 자바 - 1, 2, 3 더하기 3 (0) | 2021.09.05 |
백준 1699 자바 - 제곱수의 합 (0) | 2021.08.06 |
백준 1912 자바 - 연속합 (0) | 2021.08.04 |
백준 14002 자바 - 가장 긴 증가하는 부분 수열 4 (0) | 2021.08.02 |