본문 바로가기

Algorithm

C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 11057번:오르막 수 답

반응형

//D[i][j] = 길이 i인 배열의 마지막에 들어갈 j

//D[i][j] += D[i-1][k](0<=k<=j)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
long long D[1001][10];
int main() {
    long long N, ans=0;
    cin >> N;
    for (int i = 0; i <= 9; i++)
    {
        D[1][i] = 1;
    }
    for (int i = 2; i <= N; i++) {
        for (int j = 0; j <= 9; j++) {
            for (int k = 0; k <= j; k++)
            {
                D[i][j] += D[i - 1][k];
                D[i][j] %= 10007;
            }
        }
    }
    for (int i = 0; i < 10; i++)
        ans += D[N][i];
    cout <<  ans % 10007;
}
cs