hdu 2064 2077 汉诺塔递推公式

mac2022-06-30  26

果断最近想要刷一些题目,所有现在开始对汉诺塔的拓展版感兴趣,hdu上面有很多对于汉诺塔的不同版本,感觉上还是蛮不错的题目,但是实际上来说,有些我自己还是没有理解的很深,希望以后能够想的更加透彻。

2064,题意就是现在不准直接从最右边的柱子直接拿盘子到最左边的,当然从左边到右边也不行,那么对于每一次那就又要多做n次的工作量,所以按照旧的汉诺塔算次数的公式就变成了3^N-1。

View Code 1   #include<iostream> 2   using namespace std; 3   int main() 4   { 5    __int64 f[36]; 6    for(int i=1;i<=20;i++) 7    { 8    f[i]=1; 9    for(int j=1;j<=i-1;j++) 10    { 11    f[i]*=3; 12    } 13    f[i]++; 14    } 15    int n,t; 16    scanf("%d",&t); 17    while(t--) 18    { 19    scanf("%d",&n); 20    printf("%I64d\n",f[n]); 21    } 22    return 0; 23   }

 

 

转载于:https://www.cnblogs.com/nuoyan2010/archive/2012/09/01/2667089.html

最新回复(0)