HDU 2047

Posted lukelmouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 2047相关的知识,希望对你有一定的参考价值。

HDU 2047

思路

考虑第 (n) 位为 (F) 或者 (E) ,第 (n - 1) 位,可以填(3) 个字母, (f[n] = 1*2f[n-1])

考虑第 (n) 位为(O) ,因为两个(O) 不能相邻,所以,第 (n- 1) 位,只能填(2) 个字母,第(n-2) 可以填(3)个字母

(f[n]=1*2*f[n-2])

总共的答案是 (f[n]=2(f[n-1] + f[n-2]))

#include <bits/stdc++.h>
using namespace std;
const int N = 100;
typedef long long LL;
LL f[N] = {0,3,8},k = 2;
int main() {
    int n;
    while(cin >> n) {
        if(n > k) {
            while(k <= n) {
                k ++;
                f[k] = (f[k - 1] + f[k - 2]) * 2;
            }
        }
        cout << f[n] << endl;
    }
    return 0;
}

以上是关于HDU 2047的主要内容,如果未能解决你的问题,请参考以下文章

HDU2047

hdu2047

HDU 2047 阿牛的EOF牛肉串

hdu 2047(状压dp)

HDU 2047 阿牛的EOF牛肉串 (递推)

HDU 2047 阿牛的EOF牛肉串