#문제
https://www.acmicpc.net/problem/11057
#작성 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include <iostream>
using namespace std;
int n;
int cnt[1001][10];
// cnt[i][j]는 i자릿수. 일의 자리수가 j인 오르막수의 개수
// 길이가 n인 오르막 수의 개수를 10007로 나눈 나머지 저장.
int main(){
cin>>n;
for(int i=0; i<=9; i++){
// 한자리수 오르막수
cnt[1][i]=1;
}
for(int digit=2; digit<=n; digit++){
for(int num=0; num<10; num++){
for(int tmp=0; tmp<=num; tmp++){
cnt[digit][num] = (cnt[digit][num]%10007+cnt[digit-1][tmp]%10007)%10007;
}
}
}
int cntsum=0;
for(int i=0; i<10; i++)
cntsum= (cntsum%10007+cnt[n][i]%10007)%10007;
cout<<cntsum%10007<<'\n';
return 0;
}
|
cs |
##
'BOJ' 카테고리의 다른 글
BOJ 11049번 :: 행렬 곱셈 순서 (0) | 2020.01.06 |
---|---|
BOJ 2193번 :: 이친수 (0) | 2020.01.05 |
BOJ 9095번 :: 1, 2, 3 더하기 (0) | 2020.01.05 |
BOJ 11066번 :: 파일 합치기 (0) | 2020.01.04 |
BOJ 6549번 :: 히스토그램에서 가장 큰 직사각형 (0) | 2020.01.04 |