題目描述
名名的媽媽從外地出差回來,帶了一盒好吃又精美的巧克力給名名(盒內共有 n 塊巧克力,20 > n >0)。 媽媽告訴名名每天可以吃一塊或者兩塊巧克力。 假設名名每天都吃巧克力,問名名共有多少種不同的吃完巧克力的方案。
示例:
如果n=1,則名名第1天就吃掉它,共有1種方案;
如果n=2,則名名可以第1天吃1塊,第2天吃1塊,也可以第1天吃2塊,共有2種方案;
如果n=3,則名名第1天可以吃1塊,剩2塊,也可以第1天吃2塊剩1塊,所以名名共有2+1=3種方案;
如果n=4,則名名可以第1天吃1塊,剩3塊,也可以第1天吃2塊,剩2塊,共有3+2=5種方案。 現在給定n,請你寫程式求出名名吃巧克力的方案數目。
傳送門:牛客 ky48吃糖果 解法
dp[n]代表n個巧克力需要吃的天數,那怎麼來列出轉移方程呢?
檢視題目:每天可以吃1塊或者2塊巧克力,那麼如果第n天我吃1塊巧克力的話,則dp[n]=dp[n-1],如果第n天我吃2塊巧克力的話,則dp[n]=dp[n-2],只有這兩種可能,所以轉移方程是:
dp[n]
=dp[n-1]+dp[n-2]
但是如果用陣列的話,可能會陣列越界,所以用vector來做。
#include
#include
"vector"
using
namespace std;
intmain()
printf
("%d"
,dp[n-1]
);return0;
}
牛客網刷題 C語言 吃糖果
名名的媽媽從外地出差回來,帶了一盒好吃又精美的巧克力給名名 盒內共有 n 塊巧克力,20 n 0 媽媽告訴名名每天可以吃一塊或者兩塊巧克力。假設名名每天都吃巧克力,問名名共有多少種不同的吃完巧克力的方案。例如 如果n 1,則名名第1天就吃掉它,共有1種方案 如果n 2,則名名可以第1天吃1塊,第2天...
牛客 計算糖果
a,b,c三個人是好朋友,每個人手裡都有一些糖果,我們不知道他們每個人手上具體有多少個糖果,但是我們知道以下的資訊 a b,b c,a b,b c.這四個數值.每個字母代表每個人所擁有的糖果數.現在需要通過這四個數值計算出每個人手裡有多少個糖果,即a,b,c。這裡保證最多只有一組整數a,b,c滿足所...
牛客網 KY194樹查詢
ky194 樹查詢 有一棵樹,輸出某一深度的所有節點,有則輸出這些節點,無則輸出empty。該樹是完全二叉樹。輸入有多組資料。每組輸入乙個n 1 n 1000 然後將樹中的這n個節點依次輸入,再輸入乙個d代表深度。輸出該樹中第d層得所有節點,節點間用空格隔開,最後乙個節點後沒有空格。示例1 4 1 ...