1. 程式人生 > >骨牌鋪方格(菲波那切數列)

骨牌鋪方格(菲波那切數列)

cstring int turn bsp ble gif ace bits 分享圖片

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 技術分享圖片
 1 #include<iostream>
 2 #include<iomanip>
 3 //#include<bits/stdc++.h>
 4 #include<cstdio>
 5 #include<cmath>
 6 #include<cstring>
 7 #include<algorithm>
 8 #include<sstream>
 9 #define PI  3.14159265358979
10 #define LL long long
11 #define
eps 0.00000001 12 using namespace std; 13 LL f[100]; 14 LL solve(LL x) 15 { 16 if(f[x]) return f[x]; 17 for(int i=4;i<=x;++i) 18 { 19 f[i]=f[i-1]+f[i-2]; 20 } 21 return f[x]; 22 } 23 int main() 24 { 25 int T; 26 f[1]=1,f[2]=2,f[3]=3; 27 while(cin>>T)
28 { 29 cout<<solve(T)<<endl; 30 } 31 32 }
View Code

骨牌鋪方格(菲波那切數列)