劍指Offer之矩形覆蓋

2021-08-27 15:29:33 字數 778 閱讀 5465

題目描述:我們可以用2*1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋乙個2*n的大矩形,總共有多少種方法?

輸入:輸入可能包含多個測試樣例,對於每個測試案例,

輸入包括乙個整數n(1<=n<=70),其中n為偶數。

輸出:對應每個測試案例,

輸出用n個2*1的小矩形無重疊地覆蓋乙個2*n的大矩形,總共有的方法數。

樣例輸入:

4

樣例輸出:

5

/*********************************

* 日期:2013-11-15

* 題號: 題目1390:矩形覆蓋

* 結果:ac

* 總結:

**********************************/

#include#include#includeusing namespace std;

//f(n) = f(n-1) + f(n-2)

long long fibonacci(int n)

else if(n == 2)

for(i = 3;i <= n;i++)

return fibonaccic;

}int main()

return 0;

}

劍指offer 矩形覆蓋

我們可以用2 1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2 1的小矩形無重疊地覆蓋乙個2 n的大矩形,總共有多少種方法?觀察題目中的矩形,2 n的,是個長條形。本來腦中想象的是複雜的華容道,但是既然只是簡單的長條形,那麼依然逆向分析。既然是長條形的,那麼從後向前,最後乙個矩形2 2的,只有兩...

劍指Offer 矩形覆蓋

題目描述 我們可以用2 1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2 1的小矩形無重疊地覆蓋乙個2 n的大矩形,總共有多少種方法?思路 這個也是跳青蛙的變形 但是要自己找出當前的鋪法和以前鋪法的關係 注意到 情況一 當前塊的話可以由上一塊加上當前這一塊的豎著放 情況二 或者是 上上一塊加上兩...

劍指offer 矩形覆蓋

1 題目描述 我們可以用2 1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2 1的小矩形無重疊地覆蓋乙個2 n的大矩形,總共有多少種方法?2 思路 遞迴呼叫 若不存在小矩形,則返回0 若只存在乙個小矩形,則只有一種方法,返回1 若存在兩個小矩形,則存在兩種方法,返回2 若小矩形的數量大於2,則若...