풀이
DP를 사용하여 해결했습니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static final long mod = 1000000000L;
public static int N, K;
public static long[][] memo = new long[201][201];
public static void main(String[] args) 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());
memo[0][0] = 1L;
for (int i = 1; i <= K; ++i) {
for (int j = 0; j <= N; ++j) {
for (int l = 0; l <= j; ++l) {
memo[i][j] += memo[i - 1][j - l];
memo[i][j] %= mod;
}
}
}
System.out.println(memo[K][N]);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[Java] BOJ 3109번 빵집 (0) | 2021.06.19 |
---|---|
[Java] BOJ 5014번 스타트링크 (0) | 2021.06.18 |
[Java] BOJ 1107번 리모컨 (0) | 2021.06.16 |
[Java] BOJ 1915번 가장 큰 정사각형 (0) | 2021.06.15 |
[Java] BOJ 17135번 캐슬 디펜스 (0) | 2021.06.14 |