本文主要是介绍HDU 2064 汉诺塔III(水题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
http://acm.hdu.edu.cn/showproblem.php?pid=2064
题目大意:
有三根杆,求把n个圆盘从左边移到右边,最少需要移动圆盘的次数。移动规则为大盘不能放在小盘上,比原始的汉诺塔题改变的地方是,只能通过中间的杆往左右两边的杆移动。
心得:
此题心得在题外,不在题内,初看此题,尼玛吓了一跳,好像很难的样子,手贱百度了一下,只注意到俩字“水题”,赶紧关掉。然后自己才演算了下,果然。
我们常这样被自己打败,不去尝试,就给自己判了死刑。
代码:
#include<stdio.h>
int main()
{_int64 a[40];int n;a[1]=2;while(~scanf("%d",&n)){int i;for(i=2;i<=n;i++){a[i]=3*a[i-1]+2;}printf("%I64d\n",a[n]);}return 0;
};
这篇关于HDU 2064 汉诺塔III(水题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!