hdu 1996 汉诺塔VI

点击打开链接

dp[i]=dp[i-1]*3

乍一看是复杂的排列组合问题,其实是:每个盘子都可以放到三个柱子上的任意一个,所以是3^n.

#include"stdio.h"
__int64 dp[30];
int main()
{
	int i;
	dp[0]=1;
	for(i=1;i<30;i++)
		dp[i]=dp[i-1]*3;
	int t;
	int n;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&n);
		printf("%I64d\n",dp[n]);
	}
	return 0;
}


posted on 2012-10-22 13:19  Slege  阅读(82)  评论(0编辑  收藏  举报

导航