题目1122:吃糖果(递推)

题目1122:吃糖果

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:1832

解决:1472

题目描述:

名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 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,请你写程序求出名名吃巧克力的方案数目。

输入:

输入只有1行,即整数N。

输出:

可能有多组测试数据,对于每组数据,
输出只有1行,即名名吃巧克力的方案数。

样例输入:
4
样例输出:
5

#include<iostream>
#include<stdio.h>
#include<queue>
#include<string>
#include<string.h>
#include<algorithm>
using namespace std;

long long F[91];

int main()
{
    F[1]=1;
    F[2]=2;
    for(int i=3; i<=90; i++)
    {
        F[i]=F[i-1]+F[i-2];
    }
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        printf("%lld\n",F[n]);
    }
    return 0;
}

时间: 2024-11-05 22:57:06

题目1122:吃糖果(递推)的相关文章

uva11258- String Partition(递推)

题目:uva11258- String Partition(递推) 题目大意:给出一系列的数字,它是由很多int型的数构成的,就是中间没有加空格.所以现在问怎样拆分这些数,使得这些数之和最大. 解题思路:这里要求是int型的整数,单个数的最大的值2147483647.dp[i][j]代表这个数字串第i个字符到第j个字符能够得到的最大的和. dp[i][j] = max(dp[i][i + k] + dp[i + k + 1][j]) k >= 0 && k <= j - i -

递推 Codeforces Round #186 (Div. 2) B. Ilya and Queries

题目传送门 1 /* 2 递推:用cnt记录前缀值,查询区间时,两个区间相减 3 */ 4 #include <cstdio> 5 #include <algorithm> 6 #include <cmath> 7 #include <cstring> 8 using namespace std; 9 10 const int MAXN = 1e5 + 10; 11 const int INF = 0x3f3f3f3f; 12 char s[MAXN]; 1

Coconuts, Revisited(递推+枚举+模拟)

Description The short story titled Coconuts, by Ben Ames Williams, appeared in the Saturday Evening Post on October 9, 1926. The story tells about five men and a monkey who were shipwrecked on an island. They spent the first night gathering coconuts.

一道简单的递推题(快速幂+矩阵乘法优化+滚动数组)

问题 F: 一道简单的递推题 时间限制: 1 Sec  内存限制: 128 MB提交: 546  解决: 48[提交][状态][讨论版] 题目描述 存在如下递推式: F(n+1)=A1*F(n)+A2*F(n-1)+...+An*F(1) 求第K项的值对1000000007取模的结果 输入 单组测试数据 第一行输入两个整数 n , k (1<=n<=100,n<k<=10000000000) 第二行输入 n 个整数 F(1)   F(2)   ...   F(n) 第三行输入 n

uva11151Longest Palindrome(递推)

题目;uva11151Longest Palindrome(递推) 题目大意:给出一个字符串,问它可以通过去掉些字符得到的最长的回文的长度. 解题思路:dp[i][j]代表从字符串i位到j位最长的回文的长度. 如果s[i] == s[j] , dp[i][j] = dp[i - 1][j - 1] + 2: 因为头尾相同,那么要求i到j的最长的回文的话,只有可能是中间的部分最长的回文加上2. 否则dp[i][j] = Max (dp[i][j - 1], dp[i + 1][j]): 计算顺序:

递推DP URAL 1260 Nudnik Photographer

题目传送门 1 /* 2 递推DP: dp[i] 表示放i的方案数,最后累加前n-2的数字的方案数 3 */ 4 #include <cstdio> 5 #include <algorithm> 6 #include <cmath> 7 #include <cstring> 8 using namespace std; 9 10 const int MAXN = 1e4 + 10; 11 const int INF = 0x3f3f3f3f; 12 int

递推DP 赛码 1005 Game

题目传送门 1 /* 2 递推DP:官方题解 3 令Fi,j代表剩下i个人时,若BrotherK的位置是1,那么位置为j的人是否可能获胜 4 转移的时候可以枚举当前轮指定的数是什么,那么就可以计算出当前位置j的人在剩下i − 1个人时的位置 5 (假设BrotherK所处的位置是1),然后利用之前计算出的F值判定此人是否可能获胜 6 时间复杂度为O(n3) 7 dp[i][j] 表示有i个人,j位置的人是否可能胜利.dp[1][0] = 1; cnt = sum (dp[n][i]); 8 有最

hdu1205 吃糖果(鸽笼原理)

题目链接: huangjing 思路: 这个题我是这样想的,把其他颜色的糖果当成挡板,必过有n个,那么就可以形成n+1个位置,那么如果n+1大于最大堆糖果树,那么就可以吃到所有不同的糖果,但是有可能会说,万一其他颜色的糖果冲突呢????但是因为其他每种颜色的糖果的数目必然小于最大的,那么可以把这些插入到最大堆的糖果和其他颜色中,相当于加大板子的厚度.... 题目: 吃糖果 Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/

(hdu step 3.1.3)母牛的故事(简单递推)

在写题解之前给自己打一下广告哈~..抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下: http://edu.csdn.net/course/detail/209 题目: 母牛的故事 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 659 Accepted Submission(s): 481   Problem Descriptio

(hdu step 3.1.2)骨牌铺方格(简单递推:求用2*1的骨牌铺满2*n的网格的方案数)

在写题解之前给自己打一下广告哈~..抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下: http://edu.csdn.net/course/detail/209 题目: 骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 744 Accepted Submission(s): 478   Problem Descriptio