题目:
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;
};