zoukankan      html  css  js  c++  java
  • 小球

    题目描述
    有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;
    }
    
    

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

  • 相关阅读:
    二进制或者其他进制转为十进制
    十进制转为二进制或者其他进制
    0.1 + 0.2 !== 0.3
    [git]删除远程分支
    [git]一个本地仓库,多个远程仓库
    [git]用户名,邮箱
    npm install命令
    常用命令:查看端口
    std::lock_guard 与 std::unique_lock
    std::mutex
  • 原文地址:https://www.cnblogs.com/skyleafcoder/p/12319586.html
Copyright © 2011-2022 走看看