完美世界C++笔试

这两题是之前华科宣讲会的原题,当时没有全部做出来,这次都做出来了。
  1. M个苹果放在N个盘子里,盘子可以为空
    #include <bits/stdc++.h>
    using namespace std;
    
    //x个苹果放y个盘子,不能空
    int f(int x, int y);
    
    //x个苹果放y个盘子,能空
    int g(int x, int y);
    
    int f(int x, int y)
    {
        if (x == y || y == 1) {
            return 1;
        }
        return g(x - y, y);
    }
    
    int g(int x, int y)
    {
        int sum = 0;
        for (int i = 1; i <= x && i <= y; ++i) {
            sum += f(x, i);
        }
        return sum;
    }
    
    int main()
    {
        int M, N;
        cin >> M >> N;
        cout << g(M, N) << endl;
    }

  2. 有n个冰面,每个冰面下有一定数量的鱼,现在要打碎冰面捕鱼,但是相邻冰面不能被打碎。
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n;
        cin >> n;
        vector<int> fish(n);
        vector<vector<int>> op(n, vector<int>(2));
        for (int i = 0; i < n; ++i) {
            cin >> fish[i];
        }
        op[0][0] = 0;
        op[0][1] = fish[0];
        for (int i = 1; i < fish.size(); ++i) {
            op[i][0] = max(op[i - 1][0], op[i - 1][1]);
            op[i][1] = op[i - 1][0] + fish[i];
        }
        cout << max(op.back()[0], op.back()[1]) << endl;
    }


#完美世界##笔试题目#
全部评论
输入3,7,输出怎么是3
点赞 回复 分享
发布于 2021-10-28 19:18
我也是c++,跟你的不一样
点赞 回复 分享
发布于 2019-09-27 22:59

相关推荐

大飞的诡术妖姬:之前看b站多明海有个说法,日本就业竞争非常低的原因不光是毕业学生少,还有很多人干两年不喜欢职场氛围就辞职躺平,位置也空了很多,论吃苦耐劳还得看咱们
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:47
点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
5
分享

创作者周榜

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