PRoblem Description 在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數(shù). 例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖:
Input 輸入數(shù)據(jù)由多行組成,每行包含一個整數(shù)n,表示該測試實(shí)例的長方形方格的規(guī)格是2×n (0< n<=50)。
Output 對于每個測試實(shí)例,請輸出鋪放方案的總數(shù),每個實(shí)例的輸出占一行。
Sample Input 1 3 2
Sample Output 1 3 2
Author lcy
思路 右邊放兩個——S(n-2); 右邊放一個——S(n-1); 放第n塊時的情況:S(n-2)+S(n-1) 即S(n)=S(n-2)+S(n-1)
代碼
#include<iostream>using namespace std;int main(){ int N; long long fei[51]={0,1,2}; for(int i=3;i<51;i++){ fei[i]=fei[i-1]+fei[i-2]; } while(~scanf("%d",&N)){ cout<<fei[N]<<endl; } return 0;}新聞熱點(diǎn)
疑難解答