【错题集-编程题】游游的水果大礼包(枚举)

简介: 【错题集-编程题】游游的水果大礼包(枚举)

题目对应链接:登录—专业IT笔试面试备考平台_牛客网


一、分析题目

这里虽然很容易想到贪⼼,但是很不幸,贪⼼是错的。

正确的解法应该是枚举所有的情况(遇到这种一元二次方程,并给出其中一个值的取值范围和另一个值与之的关系,这种类型的题目就可以用枚举来做)。


二、代码

//值得学习的代码
#include <iostream>
using namespace std;
 
long long n, m, a, b;
 
int main()
{
    cin >> n >> m >> a >> b;
 
    long long ret = 0;
    for(long long x = 0; x <= min(n / 2, m); x++) // 枚举 1 号礼包的个数
    {
        long long y = min(n - x * 2, (m - x) / 2); // 计算 2 号礼包的个数
        ret = max(ret, a * x + b * y);
    }
 
    cout << ret << endl;
 
    return 0;
}

三、反思与改进

这道题目的第一想法就是贪心,想着通过比较 a 和 b 的大小来判断先一直选哪一个,没有想到这题贪心是错的。其实举一个简单的反例即可(n=2,m=100,a=3,b=2)这种情况下,贪心就没法正确得出结果了。


相关文章
洛谷P2141珠心算测验 (枚举&&暴力解法)
洛谷P2141珠心算测验 (枚举&&暴力解法)
108 0
|
6月前
【编程题-错题集】分组(枚举 + 二分)
【编程题-错题集】分组(枚举 + 二分)
|
6月前
|
存储
位运算之妙用:识别独特数字(寻找单身狗)
位运算之妙用:识别独特数字(寻找单身狗)
49 0
|
6月前
|
机器学习/深度学习 C语言
c语言编程练习题:7-55 查询水果价格
c语言编程练习题:7-55 查询水果价格
225 0
|
存储 编译器 C语言
类与对象(随心记录一)
类与对象(随心记录一)
108 1
【每日易题】七夕限定——单身狗问题以及进阶问题位运算法的深入探讨
【每日易题】七夕限定——单身狗问题以及进阶问题位运算法的深入探讨
104 0
|
算法 前端开发 iOS开发
前端电商 sku 的全排列算法很难吗?学会这个套路,彻底掌握排列组合
前段时间在掘金看到一个热帖 《今天又懒得加班了,能写出这两个算法吗?带你去电商公司写商品中心》,里面提到了一个比较有意思故事,大意就是一个看似比较简单的电商 sku 的全排列组合算法,但是却有好多人没能顺利写出来。有一个毕业生小伙子在面试的时候给出了思路,但是进去以后还是没写出来,羞愧跑路~
编号(太晚了,先发一题,可能以后题都单发了,方便分类整理)
编号(太晚了,先发一题,可能以后题都单发了,方便分类整理)
64 0
|
机器学习/深度学习 人工智能 算法
【数据结构】三万字图文讲解带你手撕八大排序(附源码)2
【数据结构】三万字图文讲解带你手撕八大排序(附源码)
65 0
【数据结构】三万字图文讲解带你手撕八大排序(附源码)2
|
存储
数据结构上机实践第八周项目6- 猴子选大王(数组版)
数据结构上机实践第八周项目6- 猴子选大王(数组版)
168 0
数据结构上机实践第八周项目6- 猴子选大王(数组版)