티스토리 뷰

#include <stdio.h>

int memo[10][1001];

int step(int n, int start)
{
    int i;
    int ret = 0;

    if (n == 1)
        return 1;
    if (memo[start][n] != 0)
        return memo[start][n];

    for (i = start; i <= 9; i++) {
        ret += step(n - 1, i);
        ret %= 10007;
    }

    memo[start][n] = ret % 10007;
    return memo[start][n];
}

int main(void)
{
    int i, n;
    int result = 0;

    scanf("%d", &n);
    for (i = 0; i < 10; i++) {
        result += step(n, i);
        result %= 10007;
    }
    printf("%d", result);

    return 0;
}

쉬운 계단 수 코드에서 배열 크기, 재귀하는 부분, 0부터 시작, mod 숫자만 바꿨다.

'프로그래밍 > 문제풀이' 카테고리의 다른 글

[BOJ] 10971 외판원 순회2  (0) 2020.05.15
[BOJ] 11051 이항 계수 2  (0) 2020.02.28
[BOJ] 10844 쉬운 계단 수  (0) 2020.02.27
[BOJ] 9465 스티커  (0) 2020.02.21
[프로그래머스] 단어 변환  (0) 2020.02.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함