728x90
반응형
https://www.acmicpc.net/problem/10844
점화식을 찾는 DP문제
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#define swap(type,x,y) do{type t=x; x=y;y=t;} while(0)
#define mod 1000000000
using namespace std;
long long dp[101][11];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N;
cin >> N;
dp[1][0] = 0;
for (int i = 1; i <= 9; i++) dp[1][i] = 1;
for (int i = 2; i <= N; i++) {
for (int j = 0; j <= 9; j++) {
if (j == 0) dp[i][j] = dp[i - 1][j + 1] % mod;
else if (j == 9) dp[i][j] = dp[i - 1][j - 1] % mod;
else dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j + 1]) % mod;
}
}
long long sum = 0;
for (int i = 0; i <= 9; i++) {
sum += dp[N][i];
}
cout << sum % mod << '\n';
return 0;
}
728x90
반응형
'BOJ > DP' 카테고리의 다른 글
[C/C++] 백준 - 2631번 : 줄세우기 (0) | 2021.07.11 |
---|---|
[C/C++] 백준 - 12865번 : 평범한 배낭 (0) | 2021.07.10 |
[C/C++] 백준 - 2565번 (전깃줄) (0) | 2021.07.04 |
[C/C++] 백준 - 1904번 (01타일) (0) | 2021.07.04 |
[C/C++] 백준 - 1003번 (피보나치 함수) (0) | 2021.07.04 |