dp[i]=dp[i-1]*3
乍一看是复杂的排列组合问题,其实是:每个盘子都可以放到三个柱子上的任意一个,所以是3^n.
#include"stdio.h" __int64 dp[30]; int main() { int i; dp[0]=1; for(i=1;i<30;i++) dp[i]=dp[i-1]*3; int t; int n; scanf("%d",&t); while(t--) { scanf("%d",&n); printf("%I64d\n",dp[n]); } return 0; }