https://www.acmicpc.net/problem/11726
- DP
- 문제 자체는 상당히 어렵게 느껴졌는데 막상 풀고나니 그리 어려운 문제는 아니었음
: 이런것이 DP구나
- 최종 출력은 10007로 나눈 나머지를 나타내야 하는데
for문 바깥에서 출력할 때 %계산을 했는데 틀렸다. : overflow - 계산할 때 마다 나눠줘야 함.
for문 안에서 d[]에 넣을 때 %계산하니 통과.
#include <cstdio>
int d[1005];
int main(){
int n;
scanf("%d", &n);
d[0]=1;
d[1]=1;
for(int i=2; i<=n; i++){
d[i]=d[i-1]+d[i-2];
d[i]%=10007;
}
printf("%d", d[n]);
}
'BOJ' 카테고리의 다른 글
BOJ 9095 1,2,3 더하기 (0) | 2019.07.18 |
---|---|
BOJ 11727 2×n 타일링 2 (0) | 2019.07.18 |
BOJ 1463 1로 만들기 (0) | 2019.07.18 |
BOJ 4963 섬의 개수 (0) | 2019.04.13 |
BOJ 2667 단지번호붙이기 (0) | 2019.04.13 |