从n>=4开始考虑,只考虑n-1和1的颜色是否相等情况。推出公式F(n)=F(n-1)+2*F(n-2)
AC代码:
#include<cstdio>
const int maxn=55;
long long ans[maxn];
void solve(){
ans[1]=3;
ans[2]=6;
ans[3]=6;
for(int i=4;i<=50;++i)
ans[i]=ans[i-1]+2*ans[i-2];
}
int main(){
solve();
int n;
while(scanf("%d",&n)==1){
printf("%lld\n",ans[n]);
}
return 0;
}
如有不当之处欢迎指出!