10844번 쉬운 계단 수
📝문제링크 : www.acmicpc.net/problem/10844
케이스들을 조금 나열해보면, 다음을 알 수 있다.
계단수가 0으로 끝나려면 0의 앞자리엔 1밖에 올 수 없다.
계단수가 9로 끝나려면 9의 앞자리엔 8밖에 올 수 없다.
계단수의 끝자리가 L = 1 ~ 8인 경우 L - 1 과 L + 1 이 모두 올 수 있다.
따라서 점화식은 다음과 같다.
그리고 N 자리수 계단수는, N자리 일때 끝자리 수가 0 ~ 9 인 수의 개수(dp[N][0] ~ dp[N][9]) 의 총합이다.
소스코드
#include <iostream>
using namespace std;
int main()
{
int N;
cin >> N;
// dp[N][L] : N자리 계단수에 대해, 끝자리가 L인 수의 개수
int dp[101][10];
//set initial value
for(int i = 0; i < 10; i++)
{
if (i == 0)
dp[1][i] = 0;
else
dp[1][i] = 1;
}
//find answer
for(int i = 2; i <= N; i++)
{
for (int j = 0; j < 10; j++)
{
if (j == 0)
dp[i][j] = dp[i - 1][j + 1];
else if (j == 9)
dp[i][j] = dp[i - 1][j - 1];
else
dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j + 1]) % 1000000000;
}
}
int sum = 0;
for(int j = 0; j < 10; j++)
sum = (sum + dp[N][j]) % 1000000000;
cout << sum << '\n';
return (0);
}
웹에서 수식 편집할 수 있는 사이트 찾았다.
www.sciweavers.org/free-online-latex-equation-editor
Online Latex Equation Editor - Sciweavers
Online Latex Equation Editor Convert Latex Equations into Images to Embed in Documents Embed Equation in Web Page, Forum, Google Docs, Twitter Render Latex Math Equations into Plain Text ASCII Insert ASCII Eqn as comment in source-code or email Convert you
www.sciweavers.org
'알고리즘 > Problem Solving' 카테고리의 다른 글
[BOJ] DP 9465번 스티커 C++ (0) | 2020.12.24 |
---|---|
[BOJ] DP 11057번 오르막 수 C++ (0) | 2020.12.04 |
[BOJ] DP 9095번 1, 2, 3 더하기 C++ (0) | 2020.11.24 |
[BOJ] DP 11726번 & 11727번 2xn 타일링 C++ (1) | 2020.11.23 |
[BOJ] DP 1463번 1로만들기 C++ (0) | 2020.11.01 |