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; }