Problem L
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 33 Accepted Submission(s) : 15
Problem Description
在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.<br>例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:<br><img src=../data/images/C40-1003-1.jpg>
Input
输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0<n<=50)。<br>
Output
对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。<br>
Sample Input
1 3 2
Sample Output
1
没加一个相当于 从下一个 下下一个 构成的
比如3 相当于 2 平方一个
加上 一竖直放两个。
ac代码
#include<iostream> #include<cmath> #include<string.h> #include<stdio.h> using namespace std; long long int pao[6000000]; int main() { pao[0]=1; pao[1]=1; int n; while(cin>>n) { int i; for(i=2;i<=100000;i++) { pao[i]=pao[i-1]+pao[i-2]; } cout<<pao[n]; cout<<endl; } return 0 ; }