백준 10844(쉬운 계단 수) 와 비슷한 문제이다.
핵심로직
1. 2차원 배열로 작은 조각에서 각각 접근해야 한다.
2. 점화식은 아래와 같다.
#include <iostream>
using namespace std;
int N;
long long dp[10][1001];
long long result;
int main(void) {
cin >> N;
for (int i = 0; i < 10; i++)
{
dp[i][1] = 1; // 초기값 셋팅
}
for (int x = 2; x <= N; x++)
{
for (int i = 0; i < 10; i++)
{
for (int j = 0; j <= i; j++)
{
dp[i][x] = (dp[i][x] + dp[j][x - 1])%10007;
}
}
}
for (int i = 0; i < 10; i++)
{
result = (result + dp[i][N])%10007;
}
cout << result;
return 0;
}
'PS(Problem Solving)' 카테고리의 다른 글
[PS] 알고리즘 공부용 백준링크 (0) | 2023.04.17 |
---|---|
알고리즘 스터디 OT (0) | 2023.01.26 |
백준 1790번(수 이어 쓰기 2) (0) | 2022.01.10 |
백준 10844(쉬운 계단 수) (0) | 2021.11.11 |