榴莲的诅咒
描述
猴子空空小时候特别挑食,只喜欢吃香蕉,不喜欢吃榴莲,于是它被榴莲诅咒了,现在它每次吃香蕉时必须搭配着榴莲一起吃,且只有两个选择,要么吃2根香蕉1个榴莲,要么吃1根香蕉2个榴莲,空空每次选择不同的吃法都会获得不同的成长值,现在有n根香蕉,m个榴莲,问空空,最多可以获得多少成长值
day14-04.zip
输入
一行四个整数n,m,a,b,分别表示香蕉,榴莲的个数,以及两种选择所获得的成长值
(保证数据均小于1000000);
输出
一个整数:表示可获得的最大成长值
输入样例 1
3 5 1 2
输出样例 1
4
代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
double m,n,a,b;
cin >> n>> m>>a>>b;
//计算第一种吃法
double x=0,y=0; //x/y分别表示2种吃法的次数
double maxV = 0; //成长值
double tmp;
double mx = n>m?n:m;
for(x=0;x<=mx;x++)
{
double bna = n - 2*x; //香蕉剩余数量
double liu = m - x; //榴莲剩余数量
if(bna >=0 && liu>=0)
{
y = bna < (liu/2)?bna:(liu/2);
tmp = a*x + b*y; //计算成长值
if(tmp > maxV)
maxV = tmp;
}
}
cout << maxV;
return 0;
}
【以下回答由 GPT 生成】
def max_growth(n, m, a, b):
# 判断香蕉和榴莲的数量是否足够
if n < 2 or m < 1:
return 0
# 计算最多选择吃2根香蕉1个榴莲的次数
max_a = min(n // 2, m)
# 计算最多选择吃1根香蕉2个榴莲的次数
max_b = min(n, m // 2)
# 计算总的成长值
max_growth = max_a * a + max_b * b
return max_growth
# 示例输入
n = 3
m = 5
a = 1
b = 2
# 调用函数并输出结果
print(max_growth(n, m, a, b))
最大成长值为4。
【相关推荐】
http://t.csdn.cn/CoAPU
你起码要有自己的思路吧,