您的位置:首页 > 其它

hdu 2064 2077 汉诺塔递推公式

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

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

View Code

  #include<iostream>
  using namespace std;
  int main()
  {
      __int64 f[36];
      for(int i=1;i<=20;i++)
      {
         f[i]=1;
         for(int j=1;j<=i-1;j++)
         {
            f[i]*=3;
         }
         f[i]++;
      }
      int n,t;
      scanf("%d",&t);
      while(t--)
      {
         scanf("%d",&n);
         printf("%I64d\n",f
);
      }
      return 0;
  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: