骨牌铺方格

骨牌铺方格

Time Limit: 1000 msMemory Limit: 32768 KiB

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


#include<stdio.h>
02  
03 int main(void)
04 {
05     int i, n;
06     long long int f[1000];
07  
08     while(~scanf("%d", &n))
09     {
10           for(i = 1; i <= n; i++)
11           {
12               if(i == 1)
13               {
14                   f[i] = 1;
15               }
16  
17               if(i == 2)
18               {
19                   f[i] = 2;
20               }
21  
22               else if(i >= 3 && i <= 50)
23               {
24                   f[i] = f[i - 1] + f[i - 2];
25               }
26           }
27  
28         printf("%lld\n", f[n]);
29     }
30  
31     return 0;
32 }
33  

Hint