题目部分

题目描述

有 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 小球的更多相关文章

  1. Luogu[SDOI2008]Sue的小球

    题目描述 Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩蛋,Sue有一 ...

  2. 题解 Sue的小球/名次排序问题/方块消除/奥运物流

    Sue的小球 名次排序问题 方块消除 奥运物流 Sue的小球 题目大意 有 \(n\) 个小球在下落,初始位置 \((x_i,y_i)\),下落速度为 \(v_i\).你初始位置在 \(x_0\),速 ...

  3. 【webGl】threejs实现一个简单的动画-弹跳的小球

    在这里,我们将动态画面简称为动画(animation).正如动画片的原理一样,动画的本质是利用了人眼的视觉暂留特性,快速地变换画面,从而产生物体在运动的假象.而对于Three.js程序而言,动画的实现 ...

  4. HTML5 Canvas彩色小球碰撞运动特效

    脚本简介 HTML5 Canvas彩色小球碰撞运动特效是一款基于canvas加面向对象制作的运动小球动画特效.   效果展示 http://hovertree.com/texiao/html5/39/ ...

  5. 纯CSS3实现3D跳动小球

    请使用Chrome,火狐的浏览器查看本页面,使用IE将看不到效果.如果在本页看不到一个跳动的小球,请确定您的浏览器支持CSS3,或者访问http://keleyi.com/a/bjac/iphgrtq ...

  6. HTML5 随机弹跳的小球

    查看效果:http://keleyi.com/a/bjad/tc1y11dy.htm Chrome效果图: 火狐效果图:推荐:http://hovertree.com/texiao/css3/18/ ...

  7. WPF实现物理效果 拉一个小球

    一直以来都对物理效果有神秘感,完全不知道怎么实现的.直到看到了周银辉在老早前写的一篇博客:http://www.cnblogs.com/zhouyinhui/archive/2007/06/23/79 ...

  8. HTML5CSS3特效-上下跳动的小球-遁地龙卷风

    (-1)写在前面 我用的是chrome49,这个idea是我在stackoverflow上回答问题时看到了,多谢这位同行,加深了我对很多技术点的理解,最近刚到北京,忙碌了一两天,在后续的日子里,会被安 ...

  9. 【web前端学习部落22群】分享 碰撞的小球开源小案例

    对于课程中的疑问,大家可以加 web前端学习部落22群 120342833和其他老师还有众多的小伙伴们进行沟通交流哦,群里还有不少技术大拿.行业大牛 可以一起探讨问题,我们也会安排专业的技术老师为大家 ...

随机推荐

  1. golang中,slice的几个易混淆点

    slice在golang中是最常用的类型,一般可以把它作为数组使用,但是比数组要高效呀.不过,我感觉这个东西用的不好坑太多了.还是需要了解下他底层的实现 slice的结构定义 type slice s ...

  2. E203 译码模块(1)

    E203是两级流水线结构,第一级是IFU进行取指操作,第二级包括译码.执行.交付和写回等功能.架构图如下: https://www.cnblogs.com/images/cnblogs_com/mik ...

  3. afnetwork使用

    Usage HTTP Request Operation Manager AFHTTPRequestOperationManager encapsulates the common patterns ...

  4. 白话SCRUM之一:SCRUM 的三个角色

    在SCRUM方法中将项目的利益相关者分成两大类:Pigs角色与chickens角色,pigs即为项目组的实际参与人员,chickens为项目组的外部人员,包括经理.最终用户等等.Pigs在scrum中 ...

  5. SQL SERVER 用户自定义函数(UDF)深入解析

    本文内容概要: UDF 概念.原理.优缺点.UDF 的分类 详细讲述3种 UDF 的创建.调用方法以及注意事项 UDF 的实践建议 基本原理: UDF:user-defined functions,用 ...

  6. 9-剑指offer: 二进制中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 代码 class Solution { public: int NumberOf1(int n) { if(n==0) re ...

  7. HBuilder创建app

    一.app登录注册实现 1.首先进行布局,mhead,mbody 在app index.html内创建一个 a链接通过mui.openWindow跳到登录页面 <a class="mu ...

  8. 莫烦TensorFlow_06 plot可视化

    import tensorflow as tf import numpy as np import matplotlib.pyplot as plt def add_layer(inputs, in_ ...

  9. zz全面拥抱Transformer

    放弃幻想,全面拥抱Transformer:自然语言处理三大特征抽取器(CNN/RNN/TF)比较 在辞旧迎新的时刻,大家都在忙着回顾过去一年的成绩(或者在灶台前含泪数锅),并对2019做着规划,当然也 ...

  10. zz2019年主动学习有哪些进展?答案在这三篇论文里

    2019年主动学习有哪些进展?答案在这三篇论文里 目前推广应用的机器学习方法或模型主要解决分类问题,即给定一组数据(文本.图像.视频等),判断数据类别或将同类数据归类等,训练过程依赖于已标注类别的训练 ...