问题描述
在 2×n 的一个长方形方格中,用一个 1× 2 的骨牌铺满方格,输入 n ,输出铺放方案的总数. 例如 n=3 时,为 2× 3 方格,骨牌的铺放方案有三种,如右图: Input 输入数据由多行组成,每行包含一个整数 n,表示该测试实例的长方形
输入
输入数据的第一行是一个整数 N,表示测试实例的个数,然后是 N 行数据,每行包含两个整 数 a 和 b(0<a<b<50)
输出量
对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行
样本输入
1
3
2
样本输出
1
3
2
代码
#include <iostream>
using namespace std;
int main(){
int n;
int d[51]={0,1,2,};
for (int i = 3; i < 51; ++i) {
d[i]=d[i-1]+d[i-2];
}
while(cin>>n){
cout<<d[n]<<endl;
}
return 0;
}