반응형
문제 링크: https://www.acmicpc.net/problem/10844
10844번: 쉬운 계단 수
첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다.
www.acmicpc.net
문제
45656이란 수를 보자.
이 수는 인접한 모든 자리의 차이가 1이다. 이런 수를 계단 수라고 한다.
N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구해보자. 0으로 시작하는 수는 계단수가 아니다.
입력
첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다.
출력
첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다.
풀이 및 코드
#include <iostream>
using namespace std;
int dp[100][12];
int main(){
int n;
cin >> n;
for(int i = 2; i < 11; i++)
dp[0][i] = 1;
for(int i = 1; i < n; i++){
for(int j = 1; j < 11; j++){
dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j + 1]) % 1000000000;
}
}
int result = 0;
for(int i = 1; i < 11; i++){
result += dp[n - 1][i];
result %= 1000000000;
}
cout << result;
return 0;
}
https://github.com/haram1117/AlgorithmStudy/commit/50ab5f755dacd1fb91c433a10c60d1d3142bbba0
DP10844 · haram1117/AlgorithmStudy@50ab5f7
Show file tree Showing 8 changed files with 69 additions and 28 deletions.
github.com
반응형
'알고리즘 > BOJ' 카테고리의 다른 글
알고리즘 - 백준 11053 (가장 긴 증가하는 부분 수열) (0) | 2023.01.18 |
---|---|
알고리즘 - 백준 11052 (카드 구매하기) (0) | 2023.01.17 |
알고리즘 - 백준 9465 (스티커) (1) | 2023.01.11 |
알고리즘 - 백준 9461 (파도반 수열) (0) | 2023.01.10 |
알고리즘 - 백준 9095 (1, 2, 3 더하기) (0) | 2023.01.09 |