遞迴之骨牌鋪方格

2021-08-17 05:10:26 字數 842 閱讀 7408

骨牌鋪方格

time limit: 1000 ms memory limit: 32768 kib

submit statistic discuss

problem description

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

input

輸入資料由多行組成,每行包含乙個整數n,表示該測試例項的長方形方格的規格是2×n (0< n<=50)。

output

對於每個測試例項,請輸出鋪放方案的總數,每個例項的輸出佔一行。

sample input

1 3

2sample output

1 3

2 **:

#include

#include

int main()

while(~scanf("%d",&n))

return

0;}

思路:可以先看第三塊骨牌,對第三塊骨牌來說,如果第一塊骨牌是橫放的話,那就是看剩餘2塊的排法了,就是f(2),有2種;第

一、二塊骨牌如果是豎放的話,那就看剩餘的一塊了,就是f(1),這就是規律,就是看第一塊骨牌的放法,橫放的話就看f(總的骨牌數-1),豎放的話就是f(總的骨牌數-2),總的排列方法是橫放和豎放之和;在來看當是第n塊骨牌的時候,如果第一塊骨牌橫放,那就是f(n-1),如果第

一、二塊骨牌豎放,就看f(n-2)有多少種放法了,所以總的就是f(n-1)+f(n-2);

note:

注意要用長整型,不然a不了,不信你試試

骨牌鋪方格 遞迴

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

骨牌鋪方格

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