Luogu P2705 小球

本文探讨了一道关于红蓝球和盒的数学问题,通过分析红球和蓝球放入红盒和蓝盒的不同得分情况,提出了两种放置策略,并通过比较得出最大得分的策略。文章最后给出了实现这一策略的Pascal代码。

题目描述

有 R 个红色盒子和 B 个蓝色盒子,还有 R 个红色小球和 B 个蓝色小球。每个盒子只能装一个小球,每个小球都要放在一个盒子里。

如果把一个红色小球放在一个红色盒子里,那么得分是 C。如果把一个蓝色小球放在一个蓝色盒子里,那么得分是 D。如果把一个红色小球放在一个蓝色盒子里,那么得分是 E。如果把一个蓝色小球放在一个红色盒子里,那么得分也是 E。

现在给出 R,B,C,D,E。应该如何放置这些小球进盒子,才能使得总得分最大?输出最大的总得分。

输入输出格式

输入格式:

一行,5 个整数,分别是 R,B,C,D,E。

输出格式:

一个整数,最大总得分。

输入输出样例

输入样例#1:

2 3 100 400 200

输出样例#1:

1400

输入样例#2:

2 3 100 400 300

输出样例#2:

1600

说明

【数据规模】

1 ≤ R ≤ 100,1 ≤ B ≤ 100, -1000 ≤ C,D,E ≤ 1000。

Solution

一道赤裸裸的小学生数学题……

总共就两种放法

1.红球放红盒,蓝球放蓝盒。

2.红球放蓝盒,蓝球放红盒,多的球就只能放回本颜色的盒子里了。

因为是取最值,所以不用考虑一种颜色的球放一些在这个盒子里,放一些在那个盒子里的情况,因此只有上述两种极端(?)的放法。

——————分割不完全的分割线——————

以下是pascal代码:

var r,b,c,d,e,ans:longint;
begin
  readln(r,b,c,d,e);
  if r>b then
  ans:=b*2*e+(r-b)*c
  else
  ans:=r*2*e+(b-r)*d;//以上是第二种放法
  if ans>r*c+b*d then//第二与第一种放法作比较
  writeln(ans)
  else
  writeln(r*c+b*d);
end.

转载于:https://www.cnblogs.com/qbwhtc/p/7390706.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值