미분류

[백준 2193] 이친수

bemaru 2020. 2. 17. 23:02

1. 점화식

 

0으로 시작이 안되므로

dp[1][0] = 0

dp[1][1] = 1

 

이후 i가 2이상부터는

dp[i-1][0] -> dp[i][0]

dp[i-1][0] -> dp[i][1]

dp[i-1][1] -> dp[i][0]

dp[i-1][1] -> dp[i][1]  (11이 연속되면 안되므로)

 

2. 코드

#include <stdio.h>

int main()
{
    int n;
    scanf("%d", &n);

    unsigned long long dp[91][2] = {};

    dp[1][0] = 0;
    dp[1][1] = 1;

    for (int i = 2; i <= n; i++)
    {
        dp[i][0] = dp[i - 1][0] + dp[i - 1][1];
        dp[i][1] = dp[i - 1][0];
    }

    printf("%llu", dp[n][0] + dp[n][1]);

    return 0;
}
반응형

'미분류' 카테고리의 다른 글

[백준 9465] 스티커  (0) 2020.02.19
마소 커뮤니티 Windows 포럼 첫답변  (0) 2020.02.18
[백준 11057번] 오르막 수  (0) 2020.02.17
plzrun 따라하기  (0) 2020.02.17
10844  (0) 2020.02.17