在2×n的乙個長方形方格中,用乙個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數. 例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖:
輸入資料由多行組成,每行包含乙個整數n,表示該測試例項的長方形方格的規格是2×n (0< n<=50)。
對於每個測試例項,請輸出鋪放方案的總數,每個例項的輸出佔一行。
1
32
1
32
此題用long long 型別
n = 0時,不能沒有塊可以填充,f(0) = 0;
n = 1時,只能豎著填充一塊,f(1) = 1;
n = 2時,可以豎著兩塊,橫著兩塊,f(2) = 2。
n = 3時,可以當成先選了一塊豎著的,然後f(3 - 1) = f(2),或者先選兩塊橫著的,然後f(3 - 2) = f(1),
所以f(3) = f(3 - 1) + f(3 - 2) = f(2) + f(1) = 3;
f (n
)=f(
n−1)
+f(n
−2),
n>
2f(n) = f(n - 1) + f(n - 2),\ n >2
f(n)=f
(n−1
)+f(
n−2)
,n>2
ac**:
#include
using
namespace std;
intmain()
;for
(int i =
3; i <
51; i++
) f[i]
= f[i -1]
+ f[i -2]
;int n;
while
(cin >> n)
cout << f[n]
<< endl;
return0;
}
骨牌鋪方格 遞推
原題鏈結 problem description 在2 n的乙個長方形方格中,用乙個1 2的骨牌鋪滿方格,輸入n 輸出鋪放方案的總數.例如n 3時,為2 3方格,骨牌的鋪放方案有三種,如下圖 input 輸入資料由多行組成,每行包含乙個整數n,表示該測試例項的長方形方格的規格是2 n 0output...
SDUT 骨牌鋪方格 遞推
time limit 1000 ms memory limit 32768 kib submit statistic 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方格,骨牌的鋪放方案有三種,如下...