• 小球


    题目描述
    有R个红色盒子和B个蓝色盒子,还有R个红色小球和B个蓝色小球。每个盒子只能装一个小球,每个小球都要放在一个盒子里。如果把一个红色小球放在一个红色盒子里,那么得分是C。如果把一个蓝色小球放在一个蓝色盒子里,那么得分是D。如果把一个红色小球放在一个蓝色盒子里,那么得分是E。如果把一个蓝色小球放在一个红色盒子里,那么得分也是E。现在给出R,B,C,D,E。应该如何放置这些小球进盒子,才能使得总得分最大?输出最大的总得分。

    输入
    一行,5个整数,分别是R,B,C,D,E。(1 ≤ R ≤ 100,1 ≤ B ≤ 100, -1000 ≤ C,D,E ≤ 1000)

    输出
    一个整数,最大总得分。

    样例输入
    复制样例数据
    2 3 100 400 200
    样例输出
    1400

    #include <stdio.h>
    #include <math.h>
    #include <iostream>
    using namespace std;
    int main()
    {
    	int a,b,c,d,e,s;
    	cin>>a>>b>>c>>d>>e;
    	if(a>b)
    		s=b*2*e+(a-b)*c;
    	else
    		s=a*2*e+(b-a)*d;
    	cout<<max(s,a*c+b*d)<<endl;
    	return 0;
    }
    
    

    一开始也想得比较多,后来发现要么同色球到同色盒,要么分别装,都要把一个盒子装满,求得最大的就可以。

  • 相关阅读:
    ES6-11学习笔记--深拷贝与浅拷贝
    ES6-11学习笔记--对象的扩展
    ES6-11学习笔记--箭头函数
    ES6-11学习笔记--扩展运算符与rest参数
    ES6-11学习笔记--函数的参数
    ES6-11学习笔记--数组的扩展
    ES6-11学习笔记--解构赋值
    ES6-11学习笔记--数组遍历
    班课2
    班课1
  • 原文地址:https://www.cnblogs.com/skyleafcoder/p/12319586.html
Copyright © 2020-2023  润新知