문제
2193번: 이친수
0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되
www.acmicpc.net
내 코드(C)
#include <stdio.h>
#define MAX 1000000
int main(void)
{
int n;
long dp[MAX];
dp[0]=0, dp[1] = 1, dp[2] = 1;
scanf("%d", &n);
for (int i = 2; i <= n; i++) {
dp[i] = dp[i - 1] + dp[i - 2];
}
printf("%ld", dp[n]);
}
반응형
'Baekjoon > DP' 카테고리의 다른 글
[10844] 쉬운 계단 수 (0) | 2020.04.05 |
---|---|
[2225] 합분해(C++) (0) | 2019.09.15 |
[2163] 초콜릿 자르기 (0) | 2019.09.15 |
[2133] 타일 채우기 (0) | 2019.09.15 |
[1912] 연속합 (0) | 2019.09.15 |