https://www.acmicpc.net/problem/2225
#include <iostream>
using namespace std;
const int MOD = 1000000000; //
int dp[202][202]; // 배열 크기 확장 (최대 201까지 접근 가능하도록)
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int N, K;
cin >> N >> K;
for (int i = 0; i <= K; i++)
{
dp[i][0] = 1; // 모든 수를 더해서 0을 만드는 방법은 항상 1개
}
// DP 계산
for (int k = 1; k <= K; k++)
{
for (int n = 0; n <= N; n++)
{
dp[k][n] = (dp[k - 1][n] + (n > 0 ? dp[k][n - 1] : 0)) % MOD;
}
}
cout << dp[K][N] << '\n'; // 정상적으로 dp[K][N] 값을 출력
return 0;
}
DFS 긍정왕 홍철이의 구걸 여행 (0) | 2025.03.03 |
---|---|
외판원 문제 (TSP, Traveling Salesman Problem) (0) | 2025.02.22 |
BJ9251 LCS(Longest Common Subsequence, 최장 공통 부분 수열) (0) | 2025.02.19 |
백준 11053 가장 긴 증가하는 부분 수열 LIS+DP (0) | 2025.02.18 |
백준 11399 그리디 알고리즘 (0) | 2025.02.11 |