10844 : 쉬운 계단 수

풀이

점화식을 세우자

dp[i][j] = 총 i 자릿수이고, 가장 큰 자릿수의 숫자가 j인 경우의 수 = dp[i-1][j-1] + dp[i-1][j+1]

끗!

코드

#include <stdio.h>
const int mod = 1e9;
int n, i, j, dp[101][11], ans;
int main() {
	scanf("%d", &n);
	for (i = 1; i <= 9; ++i) dp[1][i] = 1;
	for (i = 2; i <= n; ++i) for (j = 0; j <= 9; ++j)
		dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j + 1]) % mod;
	for (i = 0; i <= 9; ++i) ans = (ans + dp[n][i]) ;
	printf("%lld", ans);
	return 0;
}

아무말

백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이

wookje.kwon's profile image

wookje.kwon

2017-02-14 15:05

Read more posts by this author