题解 | #吃糖果#

吃糖果

http://www.nowcoder.com/practice/72015680c32b449899e81f1470836097

可以用f[i][j]表示在j天内吃完i个巧克力的方案,如果无解就是0个方案

#include <iostream>
#include <algorithm>
using namespace std;

const int N = 25;

int f[N][N]; //j天吃完i个巧克力的方案数

int main()
{
    for (int i = 0; i <= 20; ++i)
        f[i][0] = f[0][i] = f[i][1] = f[1][i] = 1;
    
    for (int i = 2; i <= 20; ++i)
        for (int j = 2; j <= 20; ++j)
            if (j > i) //因为每天都吃,在第i天必然就吃完了,后面的天没得吃
                f[i][j] = f[i][i];
            else if (i > 2 * j) //如果每天都吃2块都吃不完,那就是无解的,0方案
                f[i][j] = 0;
            else
                f[i][j] = f[i-1][j] + f[i-2][j]; //今天吃一块的方案+今天吃两天的方案
    
    int n;
    cin >> n;
    cout << f[n][n] << endl;
    return 0;
}
全部评论

相关推荐

昨天 11:56
门头沟学院 Java
感谢东子的收留
码农索隆:好好好,优秀优秀
点赞 评论 收藏
分享
牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
Hakasee:我的简历和你的基本一样,上周去了上海,boss投了三百家, 三家线下面试 第一家没有做题,全是八股和项目,因为第一次面试不怎么熟练,挂了 第二家,给你几个题目(①css垂直居中文字,字体每两秒闪烁一下以及点击弹窗,②给你一个链接,实现可视化地图,③然后是八股,图片性能优化,以及对图片app有什么想法),45分钟内做完,然后老板面试) 第三家特别偏僻,有点阴森,到了之后让了一个工位给我,有四个题目,①格式化时间 年月日当前时间星期几② 正则表达式提取新闻文字,③在文本域输入文字生成选择题以及选项④生成商品排版还是什么来着 三家都是不超过50人的小公司 两家线上牛客笔试(卡伦特,七牛云,但是笔试不仅要考前端,还要考后端,算法,甚至数学题 我的建议是如果只做了这两个vue项目且不怎么熟练的情况下,先沉淀沉淀,把react学了,上海好的公司基本都是react查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务