728x90
반응형
https://www.acmicpc.net/problem/10844
#include <bits/stdc++.h>
using namespace std;
int n;
int dp[101][10]={};
#define mod 1000000000;
int main(void) {
cin >> n;
dp[1][0] = 0;
for(int i=1; i<10; i++){ // 쉬운 계단수가 한자리인 경우 1로 초기화
dp[1][i] = 1;
}
for(int i=2; i<=n; i++){
dp[i][0] = dp[i-1][1]; // 마지막수가 0인 경우
dp[i][9] = dp[i-1][8]; // 마지막수가 9인경우
for(int j=1; j<9; j++){
dp[i][j] = (dp[i-1][j-1] + dp[i-1][j+1])%mod;
}
}
int result = 0;
for(int i=0; i<10; i++){
result = (result + dp[n][i])%mod;
}
cout << result << endl;
return 0;
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준/DP/C++] 11722번 가장 긴 감소하는 부분 수열 (0) | 2022.12.25 |
---|---|
[백준/DP/C++] 2156번 포도주 시식 (0) | 2022.12.24 |
[백준/DP/C++] 9095번 1,2,3 더하기 (0) | 2022.12.23 |
[백준/DP/C++] 11727번 2xn 타일링 2 (0) | 2022.12.22 |
[백준/DP/C++] 11726번 2xn 타일링 (0) | 2022.12.19 |