HDU 2045 不容易系列之(3)—— LELE的RPG难题

题目地址:点击打开链接

思路:先初始n=1,2,3的情况,然后我们假设长度为n的序列,倒数第二个与第一个相同,则此时的情况有f[n-2]*2钟可能,因为倒数第二与第一相同,故最后一个有两种情况。设倒数第二个与第一个不同,则此时情况为f[n-1]*1,因为此时最后一个只能取一种可能

AC代码:

#include <iostream>

using namespace std;

int main()
{
    int i,n;
    long long a[51] = {0,3,6,6};
    for(i=4; i<=50; i++)
    {
        a[i] = a[i-1] + a[i-2] * 2;
    }
    while(cin>>n)
    {
        cout<<a[n]<<endl;
    }
    return 0;
}


你可能感兴趣的:(HDU 2045 不容易系列之(3)—— LELE的RPG难题)