1942 - 铺地砖

通过次数

0

提交次数

0

时间限制 : 3 秒 内存限制 : 65536 MB

有一块2xN的网格地板,现在需要用2种规格的地砖铺满,地砖的规格分别是2x1和2x2,请问一共有多少种铺设方法?

题目输入

输入的第一行包含一个正整数T(T<=20),表示一共有 T组数据,接着是T行数据,每行包含一个正整数N(N<=30),表示网格的大小是2行N列。

题目输出

输出一共有多少种铺设的方法,每组数据的输出占一行。

输入/输出样例

输入格式

3
2
8
12

输出格式

3
171
2731

C++解答

#include<stdio.h>
int main()
{
    int a,b ,i,s[100]={0,1,3,5};
    while(scanf("%d",&a)!=EOF)
    {
        for( ;a > 0; a --)
        {
        scanf("%d",&b);
        for(i=4 ;i <= b ;i ++)
        {
        s[i]=s[i-1]+s[i-2]*2;    
        }
        printf("%d\n",s[b]);
    }
    }
    return 0;
}