Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)C粉丝与汉诺塔

时间:2023-11-10 08:03:13

题目描述

苟利国家生死以,岂因福祸避趋之?作为ACM真正的粉丝,应该都听闻过汉诺塔问题,汉诺塔问题是这样的:

有三根柱子,编号A,B,C柱,初始情况下A柱上有n个盘子,小盘子在上大盘子在下,n个盘子大小各不一样,每次移动一个最上层的盘子算作一步,大盘子无法移动到小盘子上面,现在要把n个盘子从A柱全部移动到C柱,请问一共需要多少步?

现在对汉诺塔问题加以限制,每次移动只能经由中间柱实现,即是说如果想从A柱移动到C柱,只能A到B,然后B到C这样移动,反之亦然,那么请问,n个盘子从A柱全部移动到C柱一共需要多少步?

输入

多组输入,每组输入一个正整数n(1<=n<=18)

输出

每行输出一个正整数答案

样例输入

1
2

样例输出

2
8
 #include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int ans=;
for(int i=;i<=n;i++)
{
ans=ans+(ans+)*;
}
printf("%d\n",ans);
}
return ;
}