还是递推 , 方程是
f1[n] = 2 * (f1[n - 1] + f2[n - 1])
f2[n] = f1[n - 1]
#include<stdio.h> int main() { long long dp1[41],dp2[41]; int n; dp1[1]=1,dp1[2]=2,dp2[1]=0,dp2[2]=1; for(int i=3;i<41;i++) dp1[i]=2*(dp1[i-1]+dp2[i-1]),dp2[i]=dp1[i-1]; while(scanf("%d" , &n) != EOF) printf("%lld\n" , 3*dp1[n]+2*dp2[n]); return 0; }