hdu 1996汉诺塔VI

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

代码如下:

#include"stdio.h"

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

 

posted @ 2012-05-14 04:43  朝圣の路  阅读(369)  评论(0编辑  收藏  举报