1942 - 铺地砖
Time Limit : 3 秒
Memory Limit : 65536 MB
有一块2xN的网格地板,现在需要用2种规格的地砖铺满,地砖的规格分别是2x1和2x2,请问一共有多少种铺设方法?
Input
输入的第一行包含一个正整数T(T<=20),表示一共有 T组数据,接着是T行数据,每行包含一个正整数N(N<=30),表示网格的大小是2行N列。
Output
输出一共有多少种铺设的方法,每组数据的输出占一行。
Examples
Input Format
3 2 8 12
Output Format
3 171 2731
Solution 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; }