小矩形塊組成大矩形塊

2021-09-23 05:00:41 字數 754 閱讀 6844

我們可以用2*1的小矩形橫著或者豎著去覆蓋更大的矩形。

請問用n個2*1的小矩形無重疊地覆蓋乙個2*n的大矩形,總共有多少種方法?

先下結論,還是斐波那契

如同,如果第乙個方塊是縱向放置,則剩餘的是f(n-1)種,

如果第一次放置時橫向放置,則第二塊位置只能橫向放置,因此剩餘f(n-2)種

因此:f(n) = f(n-1) + f(n-2)

故,顯而易見,又是斐波那契數列。

f(1) = 1

f(2) = 2

f(3) = 3..

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

輸入資料為: 5

輸出:有 5 個小矩形

共有 8 種方法。

#include using  namespace std;

class solution

int num1(1),num2(2);

for (int i = 0; i < number - 2; ++i)

cout << "有 " << number << " 個小矩形" << endl << "共有 " << num2 << " 種方法。" << endl;

return num2;

}};int main()

USACO 鋪放矩形塊 題解

題目大意 給定4個矩形塊,找出乙個最小的封閉矩形將這4個矩形塊放入,但不得相互重疊。所謂最小矩形指該矩形面積最小。思路 列舉矩形的安放順序,再按照題目所給的圖判斷即可,主要要想到列舉。1 include2 using namespace std 3int i,n,sum 10009,p 5 q 5 ...

骨牌組成矩形問題

演算法 遞推 數學綜合 題目大意 有t資料,給定乙個2 n的矩陣,只能利用1 2和2 2的骨牌,讓你去組成2 n的矩陣,問有多少種組成方法。分析 從題目大意上不難看出,本題是一道遞推題目,由前面的組成方案可以推得後面的組成方案,具體推法如下 1 當前的2 n的矩陣可以拆分成2 n 1 1 2的或者是...

前面小知識塊

1.5 web應用打包成war檔案 基本用法 jar vfm0mi jar 檔案 manifest 檔案 c 目錄 檔名 選項 c 建立新的存檔 t 列出存檔內容的列表 x 展開存檔中的命名的 或所有的 檔案 u 更新已存在的存檔 v 生成詳細輸出到標準輸出上 f 指定存檔檔名 m 包含來自標明檔案...