1:问题描述
Problem Description
在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.
例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:
Input
输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0 < n <= 50)。
Output
对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。
Sample Input
1
3
2
Sample Output
1
3
2
2:大致题意
补图:
3:思路
递推公式:w[i]=w[i-1]+w[i-2];
4:感想
程序好短的~
5:ac代码
#include<iostream>
using namespace std;
int main()
{
long long int w[55];
w[1]=1;
w[2]=2;
w[3]=3;
int i;
for(i=4;i<51;i++)
{
w[i]=w[i-1]+w[i-2];
}
int a;
while(cin>>a)
{
cout<<w[a]<<endl;
}
}