Recent Posts
Notice
No Rules Rules
오르막 수 (feat. 백준, 11057번) 본문
728x90
반응형
오르막 수
https://www.acmicpc.net/problem/11057
반응형
// woohyeon.kim
// https://www.acmicpc.net/problem/11057
#include <iostream>
#include <numeric>
using namespace std;
int main() {
ios::sync_with_stdio(false), cin.tie(), cout.tie();
register int N, dp[1001][11] = { 0 };
for (register int i = 0; i < 10; ++i)
dp[1][i] = 1;
cin >> N;
for (register int i = 2, j; i <= N; ++i)
for (j = 0; j <= 9; ++j)
dp[i][j] = accumulate(&dp[i - 1][j], &dp[i - 1][10], 0) % 10007;
cout << accumulate(&dp[N][0], &dp[N][10], 0) % 10007 << endl;
return 0;
}
// *&)*@*
- N=1일때는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 로 10개입니다.
- N=2일때는 0 뒤에는 0~9, 1 뒤에는 1~9, 2 뒤에는 2~9, ..., 9 뒤에는 9 가 올수 있습니다.
- 따라서 오르막 수 N개에 대한 각 자리수별 개수는 Pn,x 라고 하면
Pn,0 = Pn-1,0 + Pn-1,1 + ... + Pn-1,9
Pn,1 = Pn-1,1 + Pn-1,2 + ... + Pn-1,9
...
Pn,9 = Pn-1,9 라는 수식이 성립됩니다. (단, n >= 2인 경우)
728x90
반응형
'생활 > 코테' 카테고리의 다른 글
완주하지 못한 선수 (feat. 프로그래머스, 42576번) (0) | 2022.07.21 |
---|---|
크레인 인형뽑기 게임 (feat. 프로그래머스, 64061번) (0) | 2022.07.21 |
스티커 (feat. 백준, 9465번) (0) | 2022.07.21 |
평범한 배낭 (feat. 백준 12865번) (0) | 2022.07.21 |
01타일 (feat. 백준, 1904번) (0) | 2022.07.21 |
Comments