hdu 1995 汉诺塔V
dp[i][j]表示共有i个圆盘的汉诺塔,第j个最少移动的次数
dp[i][j]=dp[i-1][j]*2;
#include"stdio.h" #include"string.h" #include"math.h" __int64 dp[64][64]; int main() { int i,j; int n,m; int t; memset(dp,0,sizeof(dp)); for(i=1;i<=60;i++) { for(j=1;j<=i;j++) { if(dp[i-1][j]==0) { dp[i][j]=1;continue; } dp[i][j]=2*dp[i-1][j]; } } scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); printf("%I64d\n",dp[n][m]); } return 0; }