骨牌鋪方格 分治演算法

2021-10-11 03:26:07 字數 612 閱讀 7869

在2×n的乙個長方形方格中,用乙個1×2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數。例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖:

輸入包含乙個整數n,表示該測試例項的長方形方格的規格是2×n (0sample input

3
sample output

3
f(0) = 0,沒有地方擺骨牌,所以為0;

f(1) = 1,只能豎著擺放1個骨牌;

f(2) = 2,可以是橫著擺放2個骨牌,或者豎著擺放2個骨牌;

f(n) = f(n-2) + f(n-1),n>2,可以在f(n-2)的基礎上在右邊再橫著放2個骨牌(豎著放已經在f(n-1)中),也可以在f(n-1)的基礎上在右邊再豎著1個骨牌。

#include

using

namespace std;

intmain()

分治演算法 骨牌鋪方格

time limit 1000 ms memory limit 32768 kib problem description 在2 n的乙個長方形方格中,用乙個1 2的骨牌鋪滿方格,輸入n 輸出鋪放方案的總數.例如n 3時,為2 3方格,骨牌的鋪放方案有三種,如下圖 輸入資料由多行組成,每行包含乙個整...

骨牌鋪方格

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...