Problem Description
在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:
Input
输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0
Output
对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。
Sample Input
1
3
2
Sample Output
1
3
2
题意:都是汉语就不用过解释了;
解题思路:刚开始的时候心思这题怎么用动态规划啊。。。。。。刚画了5个就找到规律了,斐波那契数列嘛;
感悟:英语选修课撸代码真是爽啊!
代码:
#include #include #define maxn 55 using namespace std; long long ans[maxn],n; void solve() { ans[1]=1; ans[2]=2; for(int i=3;i<=50;i++) ans[i]=ans[i-1]+ans[i-2]; } int main() { //freopen("in.txt","r",stdin); solve(); while(~scanf("%lld",&n)) printf("%lld\n",ans[n]); return 0; }