骨牌鋪滿方格

2021-09-27 07:32:58 字數 628 閱讀 5451

有 2n 的乙個長方形方格,用乙個12 的骨牌鋪滿方格。

編寫乙個程式,試對給出的任意乙個n(n>0), 輸出鋪法總數。

【演算法分析】

(1)當n=1時,

只能是一種鋪法,鋪法總數有示為x1=1。

(2)當n=2時:

骨牌可以兩個並列豎排,也可以並列橫排,再無其他方法,如下左圖所示,因此,鋪法總數表示為x2=2;

5)推出一般規律:對一般的n,要求xn可以這樣來考慮,

若第乙個骨牌是豎排列放置,

剩下有n-1個骨牌需要排列,這時排列方法數為xn-1;

若第乙個骨牌是橫排列,

整個方格至少有2個骨牌是橫排列(1*2骨牌),因此剩下n-2個骨牌需要排列,這是骨牌排列方法數為xn-2。

從第一骨牌排列方法考慮,只有這兩種可能,所以有:

f(n)=f(n-1)+f(n-2) (n>2)

f(1)=1

f(2)=2

#includeusing namespace std;

int main()

}

骨牌鋪方格

time limit 1 sec memory limit 128 mb submit 43 solved 12 submit status web board 在2 n的乙個長方形方格中,用乙個1 2的骨牌鋪滿方格,輸入n 輸出鋪放方案的總數.例如n 3時,為2 3方格,骨牌的鋪放方案有三種,如下...

骨牌鋪方格

problem description 在2 n的乙個長方形方格中,用乙個1 2的骨牌鋪滿方格,輸入n 輸出鋪放方案的總數.例如n 3時,為2 3方格,骨牌的鋪放方案有三種,如下圖 input 輸入資料由多行組成,每行包含乙個整數n,表示該測試例項的長方形方格的規格是2 n 0 n 50 outpu...

骨牌鋪方格

problem description 在2 n的乙個長方形方格中,用乙個1 2的骨牌鋪滿方格,輸入n 輸出鋪放方案的總數.例如n 3時,為2 3方格,骨牌的鋪放方案有三種,如下圖 輸入資料由多行組成,每行包含乙個整數n,表示該測試例項的長方形方格的規格是2 n 0 n 50 output 對於每個...