牛客 KY48 吃糖果

2021-10-06 23:36:40 字數 825 閱讀 5632

題目描述

名名的媽媽從外地出差回來,帶了一盒好吃又精美的巧克力給名名(盒內共有 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 ...