반응형
#include <iostream>
using namespace std;
int arr[1001][10] = { 0, };
int main()
{
int n;
cin >> n;
for (int i = 1; i < 10; i++)
arr[0][i] = 1;
for (int i = 1; i < n+1; i++)
{
for (int j = 1; j < 10; j++)
{
arr[i][j] = (arr[i][j - 1] + arr[i - 1][j])% 10007;
}
}
int ans = 1;
for (int i = 1; i <= n; i++)
{
ans += arr[i][9];
}
cout << ans% 10007;
}
점화식을 찾기 그렇게 어려운 문제가 아니였다
간단히 생각해서 뒤에가 어떤 숫자로 끝나는지를 생각해보면 쉽게 풀 수 있는데,
2자리에서 예시를 들때
ㅇㅇ 숫자에서 뒤가 1인경우 : 11
ㅇㅇ 숫자에서 뒤가 2인경우 : 12, 22
ㅇㅇ 숫자에서 뒤가 3인경우 : 13, 23, 33
3자리 숫자에서 볼때
ㅇㅇㅇ숫자에서 뒤가 1인경우 : 111
ㅇㅇㅇ숫자에서 뒤가 2인경우 : 112, 122, 222
ㅇㅇㅇ숫자에서 뒤가 3인경우 : 113, 123, 133, 223, 233, 333
반응형
'백준(알고리즘)' 카테고리의 다른 글
백준 11399 ATM (0) | 2020.12.26 |
---|---|
백준 14697 방 배정하기 (0) | 2020.12.26 |
백준 1309 동물원 (0) | 2020.12.19 |
백준 1932 정수삼각형 (0) | 2020.11.14 |
백준 1010 (0) | 2020.09.26 |