在2×n的乙個長方形方格中,用乙個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數. 例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖:
輸入資料由多行組成,每行包含乙個整數n,表示該測試例項的長方形方格的規格是2×n (0< n<=50)。
對於每個測試例項,請輸出鋪放方案的總數,每個例項的輸出佔一行。
1 3 21
3 2此題用long long 型別
設規格為2*n的時候有f(n)種方法,則f(n)等於f(n-2)+f(n-1)
f(n-2):最後兩個空橫著放有一種方法,前面n-2個空有f(n-2)種方法
f(n-1):最後乙個空豎著放有一種方法,前面n-1個空有f(n-1)種方法
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
typedef
long
long ll;
#define maxn 50+10
int main()
HDOJ 2046 骨牌鋪方格
problem description 在2 n的乙個長方形方格中,用乙個1 2的骨牌鋪滿方格,輸入n 輸出鋪放方案的總數.例如n 3時,為2 3方格,骨牌的鋪放方案有三種,如下圖 輸入資料由多行組成,每行包含乙個整數n,表示該測試例項的長方形方格的規格是2 n 0output 對於每個測試例項,請...
HDU2046骨牌鋪方格
description 在2 n的乙個長方形方格中,用乙個1 2的骨牌鋪滿方格,輸入n 輸出鋪放方案的總數.例如n 3時,為2 3方格,骨牌的鋪放方案有三種,如下圖 input 輸入資料由多行組成,每行包含乙個整數n,表示該測試例項的長方形方格的規格是2 n 0 output 對於每個測試例項,請輸...
HDU 2046 骨牌鋪方格
遞迴總體思路 對於 1張 1 2 的骨牌,它只有橫放 豎放2種情況 如果要豎放,前 n 1 張牌必須已經固定好,因而這種情況下,就是 f n 1 同理,如果要橫放,前 n 2 張牌必須已經固定好,這種情況下,就是 f n 2 把2種情況下的方案加起來,就是 n 張骨牌的放置方案總數 也可參見這個題解...