반응형
//D[i][j] = i길이를 가진 수의 제일 마지막에 오는 수 j(0<=j<=9)
//D[i][j] = D[i-1][j-1](j-1>=0)+D[i-1][j+1](j+1<=9)
#include <iostream>
using namespace std;
long long D[101][10],N,ans;
int main() {
cin >> N;
for (int i = 1; i <= 9; i++)
D[1][i] = 1;
for (int i = 2; i <= N; i++) {
for (int j = 0; j <= 9; j++)
{
if (j - 1 >= 0) { D[i][j] += D[i - 1][j - 1]; }
if (j + 1 <= 9) { D[i][j] += D[i - 1][j + 1]; }
D[i][j] %= 1000000000;
}
}
for (int i = 0; i <= 9; i++)
ans += D[N][i];
cout << ans % 1000000000;
}
'Algorithm' 카테고리의 다른 글
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 10451번:순열 사이클 답 (0) | 2017.02.03 |
---|---|
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 1316번:그룹 단어 체커 답 (0) | 2017.02.02 |
(C++) - 백준(BOJ) 2839 : 설탕배달 답 (0) | 2017.02.02 |
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 11057번:오르막 수 답 (0) | 2017.02.02 |
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 9461번:파도반 수열 답 (0) | 2017.02.01 |