HDU-2047-阿牛的EOF牛肉串

递推思路:

第n位取值有①E或F②O

对于① 第n-1位任意 取法有arr[b-1]种 那么n位符合条件的组合有 2*f[n-1];

对于② 第n-1位只能取E F 而第n-2位任意 取法同上思路即f[n-2] 那么n位符合条件的组合有2*f[n-2];

综上:arr[n]=arr[n-1]*2+arr[n-2]*2, n>2;

#include<iostream>
#include<string>
using namespace std;

int main()
{
    long long arr[40]={0, 3, 8};
    for(int i=3; i<40; i++)
        arr[i]=arr[i-2]*2+arr[i-1]*2;
    int n;
    while(cin>>n)
        cout<<arr[n]<<endl;
	return 0;
}

  

posted @ 2015-08-19 17:18  _SunDaSheng  阅读(157)  评论(0编辑  收藏  举报