HDU 1996汉诺塔VI

题意:问n个盘子的合法排列方式有几种。

 

这题虽然叫汉诺塔但是感觉和汉诺塔没什么关系,水题一枚

盘子从大到小依次选择位置,以保证合法性;每个盘子有三个可选位置,f[n]=f[n-1]*3;

#include<stdio.h>

int main()
{
    long long f[30];
    int i,n,t;
    for(i=2,f[1]=3;i<30;i++)
        f[i]=f[i-1]*3;
    scanf("%d",&t);
    for(i=0;i<t;i++)
    {
        scanf("%d",&n);
        printf("%I64d\n",f[n]);
    }   
    return 0;
}
posted @ 2014-02-16 22:02  zhen94  阅读(122)  评论(0编辑  收藏  举报