luogu p2705 小球
题目部分
题目描述
有 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
输入样例#1:
2 3 100 400 300
输出样例#1:
1600
分析
吐槽部分
做这道题本身是想要刷水的
但是,当我开始做,我发现
这。。。不是一个水到秒的题(其实是我太单纯了)
摸索部分
首先是第一次的错误:
怎么样,够沙雕吧。(奇怪的是,min还没因为没开algorithm还没报错。。。也许在我开完的库里?)
好,我改完了。
但当我试到第二个样例。。。
样例好良心啊。
我想,emmmm我改。因为当时没有想到蓝色球放到红色盒子,红色球也放盒子的情况,所以加了一句。
然后,结果显而易见,第一个点就awsl了。
想了想,就写出以下代码。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int r,b,c,d,e;
cin>>r>>b>>c>>d>>e;
int ans=-1;
int tmp;
for(int i=0;i<=r;i++)
{
tmp=i*e+(r-i)*c+(b-i)*d+i*e;
ans=max(tmp,ans);
}
cout<<ans<<endl;
return 0;
}
其中:
i->红球放到了篮盒子的数量
(r-i)->红球放到红盒子的数量
第二个i->因为红球部分放到了蓝盒子里,所以必须有部分蓝球也被放到了盒子里
(b-i)->蓝球放到蓝盒子里的个数
尤其注意的是这个:
for(int i=0;i<=r;i++)
枚举红球放到了篮盒子的数量时,要考虑到没有红球放到篮盒子里的情况。
但是既然我把它放在了错误部分,那么它就是错的。
原因两个:
一、
for(int i=0;i<=r;i++)
这句话中我并没有考虑到,如果红球数量>蓝球数量,那么,就有蓝盒子溢出的情况,想想,也许会有好多红球放在根本不存在的蓝盒子里。。。
二、
int ans=-1;
这句话中,我没有看到题目数据范围,也就是C、D、E的范围。它们是可以小于0的,所以可能最大值小于-1,而最大值小于-1时,ans是不会更新的。所以导致错了俩点。
正确部分
最后,我终于成功了。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int r,b,c,d,e;
scanf("%d%d%d%d%d",&r,&b,&c,&d,&e);
int ans=-2147483647;
int tmp;
for(int i=0;i<=min(r,b);i++)
{
tmp=i*e+(r-i)*c+(b-i)*d+i*e;
ans=max(tmp,ans);
}
cout<<ans<<endl;
return 0;
}
改动:
一、
for(int i=0;i<=min(r,b);i++)
此处用了红球、蓝球数量最小值,因为循环次数最多是100次,所以在这里开个min()也没什么问题。
二、
int ans=-2147483647;
这次,我将ans设为int的极小值(当然你用-200000就已经可以了)
好了,我感觉我已经完了
awsl.
luogu p2705 小球的更多相关文章
- Luogu[SDOI2008]Sue的小球
题目描述 Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩蛋,Sue有一 ...
- 题解 Sue的小球/名次排序问题/方块消除/奥运物流
Sue的小球 名次排序问题 方块消除 奥运物流 Sue的小球 题目大意 有 \(n\) 个小球在下落,初始位置 \((x_i,y_i)\),下落速度为 \(v_i\).你初始位置在 \(x_0\),速 ...
- 【webGl】threejs实现一个简单的动画-弹跳的小球
在这里,我们将动态画面简称为动画(animation).正如动画片的原理一样,动画的本质是利用了人眼的视觉暂留特性,快速地变换画面,从而产生物体在运动的假象.而对于Three.js程序而言,动画的实现 ...
- HTML5 Canvas彩色小球碰撞运动特效
脚本简介 HTML5 Canvas彩色小球碰撞运动特效是一款基于canvas加面向对象制作的运动小球动画特效. 效果展示 http://hovertree.com/texiao/html5/39/ ...
- 纯CSS3实现3D跳动小球
请使用Chrome,火狐的浏览器查看本页面,使用IE将看不到效果.如果在本页看不到一个跳动的小球,请确定您的浏览器支持CSS3,或者访问http://keleyi.com/a/bjac/iphgrtq ...
- HTML5 随机弹跳的小球
查看效果:http://keleyi.com/a/bjad/tc1y11dy.htm Chrome效果图: 火狐效果图:推荐:http://hovertree.com/texiao/css3/18/ ...
- WPF实现物理效果 拉一个小球
一直以来都对物理效果有神秘感,完全不知道怎么实现的.直到看到了周银辉在老早前写的一篇博客:http://www.cnblogs.com/zhouyinhui/archive/2007/06/23/79 ...
- HTML5CSS3特效-上下跳动的小球-遁地龙卷风
(-1)写在前面 我用的是chrome49,这个idea是我在stackoverflow上回答问题时看到了,多谢这位同行,加深了我对很多技术点的理解,最近刚到北京,忙碌了一两天,在后续的日子里,会被安 ...
- 【web前端学习部落22群】分享 碰撞的小球开源小案例
对于课程中的疑问,大家可以加 web前端学习部落22群 120342833和其他老师还有众多的小伙伴们进行沟通交流哦,群里还有不少技术大拿.行业大牛 可以一起探讨问题,我们也会安排专业的技术老师为大家 ...
随机推荐
- Qt播放音视频文件报错DirectShowPlayerService::doRender: Unresolved error code 0x80040266或DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80004005 ()
使用QMediaPlayer和QVideoWidget QHBoxLayout *m_layout=newQHBoxLayout(this); QMediaPlayer *m_player = new ...
- cent OS 7 安装谷歌浏览器
我直接写一个shell 脚本, install_google.sh, bash 命令直接运行就好, 脚本内容如下: (切换root用户执行) set -e # 出错即退出 echo " ...
- python部分笔记
创建类和对象 图片转在自:https://www.cnblogs.com/aylin/p/5547558.html 图片转在自:https://www.cnblogs.com/aylin/p/5547 ...
- bootstrap基础样式学习(一)
1.按钮btn .btn 按钮基础的样式 .btn-default 白底黑子的按钮 .btn-danger/warning/success/info/primary .btn-lg/sm/xs 按钮大 ...
- Delphi-基础
一.Delphi 安装 1.1.快速启动程序,去掉加载开始欢迎页.在快捷方式--目标中添加路径 -pDelphi之后加 -np(例如,rcadero\Studio\20.p\bin\bds.exe&q ...
- jQYERY
1.事件流: (1)事件捕获 (2)处于目标阶段 (3)事件冒泡 2.事件对象 对每一个事件都会回调函数,会有一个默认的事件对象,就是this event.target 触发的目标对象 event.t ...
- VS调试
1.调试输出变量值 F9先设置断点,开始调试后,依次选择调试——>窗口——>局部变量和监视——>监视1. 点击“全部中断”——>之后局部变量会显示相关变量值,监视1可以查看变量 ...
- c# 第9节 数据类型之值类型
本节内容: 1:数据类型是什么 1:数据类型是什么 2:数据类型--值类型 3:值类型和引用类型的区分 画图现象: 3:值类型的种类 整数: 浮点数: 字符:
- csp 201409-3 字符串匹配
问题描述: 很简单,判断给定串是否在目标串中出现.分区分大小写和不区分大小写两种情况. csp特点: csp的第三题一般是字符串的处理,c++的string类虽然不好用,但是掌握的话在考试的时候可能能 ...
- 【Spark】
spark-submit --class "org.apache.spark.examples.sql.JavaSparkSQLExample" --master local co ...