hdu 1996 汉诺塔VI
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;
}
浙公网安备 33010602011771号