Recent Posts
Recent Comments
Archives
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 |
Tags
- ubuntu
- 알고리즘
- apache
- sw expert academy
- dp
- 동적계획법
- baek joon
- dynamic programming
- Visual Studio Code
- 비주얼 스튜디오 코드
- 공연
- filezila server
- 춤
- 넓이 우선 탐색
- 우분투
- C++
- dfs
- 시뮬레이션
- BFS
- Graph
- 배틀
- simulation
- cube sound
- 아파치
- Algorithm
- 다이나믹 프로그래밍
- 백준
- 삼성 알고리즘
- BOJ
- 그래프
Link
댄코 - 댄싱코딩
[10844] 쉬운 계단수 본문
이름은 쉬운 계단수인데 전혀 쉽지 않았다. 처음에 1차원 배열안에 i자릿수로된 계단수의 갯수를 저장했는데 도저히 답이 안나와서 다르게 접근했다.
using namespace std;
int main(){
int N = 0;
int mod = 1000000000;
int d[101][11];
scanf("%d",&N);
for(int i = 1;i<10;i++){
d[1][i] = 1;
}
for(int i = 2;i<=N;i++){
for(int j = 0;j<10;j++){
if(j == 0){
d[i][j] = d[i-1][1];
d[i][j] %= mod;
}else if(j == 9){
d[i][j] = d[i-1][8];
d[i][j] %= mod;
}else{
d[i][j] = d[i-1][j-1] + d[i-1][j+1];
d[i][j] %= mod;
}
}
}
int res = 0;
for(int j = 0;j<10;j++){
res += d[N][j];
res %= mod;
}
printf("%d\n",res);
}
i번째 자릿수를 가진 계단수중 끝자리가 j인 계단수들을 d[i][j 에 저장했다.
'코딩 > 알고리즘' 카테고리의 다른 글
[1912] 연속합 (0) | 2017.07.01 |
---|---|
[9461] 파도반 수열 (0) | 2017.07.01 |
[2156] 포도주 시식 (0) | 2017.07.01 |
[2293] 동전1 (0) | 2017.07.01 |
[9251] LCS (0) | 2017.07.01 |
Comments