在2×n的乙個長方形方格中,用乙個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數.
例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖:
輸入資料由多行組成,每行包含乙個整數n,表示該測試例項的長方形方格的規格是2×n (0對於每個測試例項,請輸出鋪放方案的總數,每個例項的輸出佔一行。
本題與前幾題一樣也是利用「遞推」來求解。
我們可以統計n較小時的一些結果,來尋找遞推公式。
**中的第一行表示有幾個牌是立著放的情況。第一列表示n的值。**的內容則表示該種情況下有多少種鋪牌方法。
從最後的「鋪法數」可以看出n個牌的鋪放方案數=n-1個牌的鋪放方案數+n-2個牌的鋪放方案數。
/*
我的vs2019編譯器使用「scanf」時會提示
「error c4996: 'scanf': this function or variable may be unsafe」
的錯誤,用下行的「定義」來解決這個錯誤提示!
*/#define _crt_secure_no_warnings
#include
#include
using
namespace std;
intmain()
/* 不知道是什麼原因,當我使用cin和cout,平台會提示編譯出錯,使用scanf和printf則會ac
其他人對本題講解也有使用cin和cout的,不知道他們出沒出現我的這個問題。。。
while (cin >> n)
*/while
(scanf
("%d"
,&n)
!=eof
)return0;
}
**通過hdoj平台執行檢查,如發現錯誤,歡迎指出和糾正,謝謝! 杭電 骨牌鋪方格C 版
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 張骨牌的放置方案總數 也可參見這個題解...