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;
}
浙公网安备 33010602011771号