본문 바로가기
백준 알고리즘/다이나믹 프로그래밍

백준 11057번 C++

by paysmile 2019. 1. 17.

#include<iostream>

#include<cstring>

using namespace std;


const int DIV = 10007;

int n;

int ascend[10][1001];


int calascend() {

memset(ascend, 0, sizeof(ascend));


for (int i = 0; i <= 9; i++) {

ascend[i][1] = 1;

}


for (int i = 2; i <= n; i++) {

for (int j = 0; j <= 9; j++) {

for (int k = j; k <= 9; k++) {

ascend[j][i] += ascend[k][i-1];

ascend[j][i] %= DIV;

}

}

}

int sum = 0; 

for (int i = 0; i < 10; i++)

sum += ascend[i][n];

return sum % DIV;

}


int main(void) {

cin >> n;

cout << calascend();

}

'백준 알고리즘 > 다이나믹 프로그래밍' 카테고리의 다른 글

백준 11048번 C++  (0) 2019.01.18
백준 2167번 C++  (0) 2019.01.17
백준 9461번 C++  (0) 2019.01.17
백준 9465번 C++  (0) 2019.01.17
백준 1010번 C++  (0) 2019.01.15