nyoj-429-骨牌铺方格

 1 #include<stdio.h>
 2 #include<algorithm>
 3 #include<string.h>
 4 using namespace std;
 5 int main()
 6 {
 7     long long a[52]={0,1,2};
 8     int n,i;
 9     for(i=3;i<52;i++)
10         a[i]=a[i-1]+a[i-2];
11     while(scanf("%lld",&n)!=EOF)
12     {
13         printf("%lld
",a[n]);
14     }
15     return 0;
16 }

递推  最后的放置只有两种可能

1、竖着放一个  那他的种数等于a【i-1】

2、横着放两个  那他的种数等于a【i-2】

所以a[i]=a[i-1]+a[i-2]

原文地址:https://www.cnblogs.com/nylg-haozi/p/3182489.html