hdoj 2046 骨牌鋪方格

2021-08-21 17:13:38 字數 851 閱讀 3920

在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 張骨牌的放置方案總數 也可參見這個題解...