http://acm.hdu.edu.cn/showproblem.php?pid=2047
这个就是假设n=□□□□□□有f(n)种不同的串,当第n个是o时,那么第n-1个不能为o,此种情况有f(n-2)*2个
当第n个不是o时,有f(n-1)*2个;
即f(n)=f(n-1)*2+f(n-2)*2;
#include <iostream>
using namespace std;
long long Count(int n)
{
long long A[40];
A[0]=0;
A[1]=3;
A[2]=8;
for(int i=3;i<=n;i++)
A[i]=2*(A[i-1]+A[i-2]);
return A[n];
}
int main()
{
int n;
while(cin>>n)
cout<<Count(n)<<endl;
return 0;
}