#include #include #define SUB 1 #define ADD 2 double findans(int n) { double total = pow(3,n); int flag = SUB,i,j; for(i = 2;i <= n;i++){ for(j = 0;j < n-i+1;j++){ if(flag == SUB) total -= pow(3,n-i); else if(flag == ADD) total += pow(3,n-i); } if(flag == SUB) flag = ADD; else if(flag == ADD) flag = SUB; } return total; } double bruteForce(int count,int n,int prev) { int i = 0; double ans = 0; if(count == n) return 1; if(count > n) return 0; for(i = 0;i <= 2;i++) if(prev != 0 || (prev == 0 && i != 0)) ans += bruteForce(count+1,n,i); return ans; } int main() { int T,n; scanf("%d",&T); while(T--){ scanf("%d",&n); printf("Findans ------ %.0f\n",findans(n)); printf("BruteForce ------- %.0f\n",bruteForce(0,n,-1)); } return 0; }