HDOJ-2046 骨牌鋪方格(遞推)
題目:HDOJ-2046
題目描述:在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數.
例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖:
思路:(遞推)
對n位置情況進行討論
①n位置1個骨牌豎著放,對前n-1無影響,所以等於f(n-1)
②n位置2個骨牌橫著放,n-1位置被佔用,但對前n-2無影響,所以等於f(n-2)
綜上,f(n)=f(n-1)+f(n-2)
貼下程式碼:(記得用long long)
#include<iostream>
using namespace std;
int main()
{
long long f[51];
int i, n;
f[1] = 1;
f[2] = 2;
f[3] = 3;
for (i = 4; i <= 50; i++)
f[i] = f[i - 1] + f[i - 2];
while (cin>>n)
{
cout << f[n] << endl;
}
return 0;
}
相關推薦
HDOJ-2046 骨牌鋪方格(遞推)
題目:HDOJ-2046 題目描述:在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數. 例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖: 思路:(遞推) 對n位置情況進行討論 ①n位置1個骨牌豎著放,對前n-1無影響,所以等於f(n
hdoj 2046 骨牌鋪方格(遞推)
在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數. 思路: 兩種情況: 情況 1: 在長方形方格末尾豎著放一個牌, 就轉化為2*(n-1)的問題; 情況2 : 在長
hdoj 2046 骨牌鋪方格(遞推)
在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數. 思路: 兩種情況: 情況 1: 在長方形方格末尾豎著放一個牌, 就轉化為2*(n-1)的問題; 情況2 : 在長方形方格末尾橫
HDU 2046 骨牌鋪方格(遞推)
題目:HDU-2046 骨牌鋪方格 題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=2046 題目: 骨牌鋪方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit:
hdu 2046 骨牌鋪方格(遞推 斐波那契數列)
骨牌鋪方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To
HDU 2046 骨牌鋪方格(簡單遞推)
連結:http://acm.hdu.edu.cn/showproblem.php?pid=2046 骨牌鋪方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe
HDU 2046 骨牌鋪方格【遞推】
骨牌鋪方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 28606 Accepted Submissi
HDOJ-2046 骨牌鋪方格(遞推)
骨牌鋪方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S
杭電OJ——2046 骨牌鋪方格(簡單的推斷題)
骨牌鋪方格 Problem Description 在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數. 例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖: Input 輸入資料由多行組成,每行包含一個整數n,表示該
(hdu step 3.1.2)骨牌鋪方格(簡單遞推:求用2*1的骨牌鋪滿2*n的網格的方案數)
在寫題解之前給自己打一下廣告哈~。。抱歉了,希望大家多多支援我在CSDN的視訊課程,地址如下:http://edu.csdn.net/course/detail/209題目:骨牌鋪方格Time Limi
HDU2046 骨牌鋪方格【遞推】
骨牌鋪方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 56741 Accepted Submiss
HDU 2046 骨牌鋪方格 遞推
骨牌鋪方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 33422 Accepted Submiss
2046骨牌鋪方格 遞推
Input 輸入資料由多行組成,每行包含一個整數n,表示該測試例項的長方形方格的規格是2×n (0<n<=50)。 Output 對於每個測試例項,請輸出鋪放方案的總數,每個例項的輸出佔一行。 Sample Input 1 3 2 Sample Output 1 3 2
HDOJ-2709 Sumsets(遞推)
題目:HDOJ-2709 題目描述: 給出一個正整數N,求出N能由多少種2的冪次方(1,2,4,8…)之和的組合得到。 (1 <= N <= 1,000,000)(由於資料過大,所有答案只取後9位。) 例如當N等於7,有6種方案 1)1+1+1+1+1+1+1 2)
HDOJ-2045 不容易系列之(3)—— LELE的RPG難題(遞推)
題目:HDOJ-2045 題目描述: 有排成一行的n個方格,用紅(Red)、粉(Pink)、綠(Green)三色塗每個格子,每格塗一色,要求任何相鄰的方格不能同色,且首尾兩格也不同色.求全部的滿足要求的塗法. 思路:(遞推) 這個和 高中數學 學排列組合時遇到的相鄰塗色問題類似,
HDOJ-1297 Children’s Queue(遞推,大數相加)
題目:HDOJ-1297 題目描述:n個人排隊,女生必須和女生相鄰(可以2個以上,也可以1個都沒有),問有多少中排隊方法。(1<=n<=1000) 例如當n=4,有7種情況,分別為 :(F為女生,M為男生) FFFF, FFFM, MFFF, FFMM, MFFM, MM
HDOJ-2047 阿牛的EOF牛肉串(遞推)
題目:HDOJ-2047 題目描述:長度為n的字串,包含’E’ ‘O’ ‘F’三個字元(可以只有其中一種或兩種字元),而且不能兩個’ O’ 相鄰,求長度為n時可能的組合數。(0<n<40) 思路: 重點是逆向推導,利用已求到的f(n-1)、f(n-2)…得到f(n)。
51Nod1031 骨牌覆蓋(遞推)
這道題第一反應是用記憶化搜尋,但是數了數n為前5幾種情況,發現居然是遞推公式! #include<iostream> #include<algorithm> #include<cmath> using namespace std; typedef long
hdu 2046 骨牌鋪方格
骨牌鋪方格 Problem Description 在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數. 例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖: Input 輸入資料由多行組成,每行包含一個整數n,表示
HDU 2046 骨牌鋪方格 斐波那契數列
Problem Description 在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數. 例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖: Input 輸入資料由多行組成,每行包含一個整數n,表示該測試例項的長