神奇药水

2024-02-11 10:48
文章标签 神奇 药水

本文主要是介绍神奇药水,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对于csuxushu来说,能够在CSU(California State University)组织2017年的ACM暑期集训让他感到十分荣幸。 csuxushu是一名充满梦想的程序员,因此他也希望来参加暑期集训的ACM萌新们和他一样怀揣着书写CSU-ACM历史的梦想。 一个偶然的机会,他在机房的某个角落得到了一本来自远古神犇的药水配方秘籍。秘籍上记载了许多AC药水配方,每一种药水都需要用两种原料 <勤奋,聪明> 按一定的比例配置而成。

“只要萌新喝下这些药水,他们的实力将有质的提升!”​

​                                                                                        ——《远古AC药水秘籍》

      此刻萌新们正在机房内和题目奋战,耳边的WA声不绝于耳。此情此景,csuxushu下定决心要为萌新们配置这些药水。 但是这两种原料市面上并不出售,因此只能由一些已有药水混合而成。为此他四处搜寻,机房不时放进新的药水和运出药水,并且在机房内的每种药水量都保证足够多。作为全CSU最聪明的程序员,对于每一个神奇药水配方,你能告诉他能否配成吗?

Input

多组数据。

对于每组数据,第一行一个整数N(1 < =N < =105),代表操作数。
接下来N行,每行一个三元组(K, X, Y) ,$ X $ 和 $ Y $ 分别代表勤奋和聪明两种原料在药水中的浓度,其中 $ X$% + $ Y$% = 100% 。

K = 0 :询问是否可以配置神奇药水(X, Y) ;

K = 1 :新增一种原料药水(X, Y) ;

K = −1 :删除所有原料药水(X, Y) ,如果没有这种药水则忽略此操作;

Output

对于每个K = 0 的询问输出一行,Yes或No。

Sample Input

6
1 65.00 35.00
0 93.58 6.42
1 44.64 55.36
1 68.27 31.73
0 54.36 45.64
0 46.04 53.96

Sample Output

No
Yes

Yes

 

解题思路: 
1.由于x%+y%=100%,所以只要记录判断一个原料就可以了。 
2.原料充足,那么询问的药水的x浓度 大于已有药水群x浓度的最小值 并且小于x浓度的最大值 就一定能够配出来。 
3.用set存放已有药水的x的浓度值,每次询问的时候,找到set的第一个和最后一个元素就是最小值与最大值。 
注意:删除药水之前先判断该浓度是否存在。在查找比较的时候,也要先判断set内有没有元素,不然会runing time error。

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<set>
using namespace std;
int main()
{set<double>s;set<double>::iterator ii;int n,m,i,j,k;double a,b;while(scanf("%d",&n)!=EOF)    {s.clear();for(i=0; i<n; i++)        {scanf("%d %lf %lf",&k,&a,&b);if(k==1)             {s.insert(a);}            else if(k==-1)            {ii=s.find(a);if(ii!=s.end()){s.erase(a);}            }             else if(k==0)    {if(s.empty())            {printf("No\n");continue;}double low=*(s.begin());ii=s.end();ii--;double high=*(ii);if(a>=low&&a<=high)      {printf("Yes\n");}                else        {printf("No\n");}            }        }    }     return 0;
}

 

这篇关于神奇药水的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/699595

相关文章

Redis 管道的神奇力量

今天我们要来探索一个 Redis 中非常强大且实用的特性——管道(Pipeline)。如果你想让你的 Redis 操作更加高效,那么这篇文章绝对值得一读。 一、Redis 管道是什么 Redis 管道是一种在客户端和服务器之间批量执行命令的技术。它允许客户端将多个命令一次性发送到服务器,而不是逐个发送并等待每个命令的响应。服务器会按照顺序执行这些命令,并将所有命令的响应一次性返回给客户端。

入门篇:神奇的Annotation

涅槃1992 关注 2016.12.25 23:41* 字数 4964 阅读 1059评论 3喜欢 29 前面写了Android 开发:由模块化到组件化(一),很多小伙伴来问怎么没有Demo啊?之所以没有立刻放demo的原因在还有许多技术点没说完. 今天我们就来细细评味Java当中Annotation,也就是我们常说的注解. 本文按照以下顺序进行:元数据->元注解->运行时注解->编译时

一个人就能干一个团队剪辑工作?云微客就是这么神奇

你知道拍摄、剪辑一条视频需要花费多长时间吗?半个小时?还是一个小时呢?如果我想一天发布上百条视频,你觉得可能吗?很显然,仅凭个人是很难办到的,那么就需要借助工具,而云微客AI批量剪辑系统正好可以解决这个难题。 在当下这个短视频风靡的时代,不管是企业还是个人创作者们都需要借助各种工具和系统来提升创作内容的生产效率和传播效果。而云微客AI批量剪辑系统凭借着批量剪辑的功能,为创作者带来了很大的

神奇的android广播

最近用了android的广播,个人感觉非常好用: 首先在你要接收的地方注册一个: context.registerReceiver(myReceiver, new IntentFilter("com.shic.action.d")); 然后就是定义注册的这个,在接收到广播后执行的操作: BroadcastReceiver myReceiver = new BroadcastRecei

用来作弊的药水(快速幂)

链接: https://www.nowcoder.com/acm/contest/90/L 来源:牛客网 题目描述 在一个风雨交加的夜晚,来自异世界的不愿透露姓名的TMK同学获得了两种超强药水A、B。根据说明书,TMK知道了这两种药水的作用:     (1)药水A能使人的生命值提高,每饮用1个单位能使他生命值变成原来的x倍,即每饮用p个单位能使他的生命值变成原来的x^p(x的p

神奇的babel

2015年,ECMA推出es6,在es5的基础上添加了各种人性化开发的新特性,详见es2015 让人头疼的是当下主流浏览器的JS引擎并不识别es6语法,所以我们需要将es6的语法翻译成es5的形式再提交给js引擎执行。 那有没有好的工具来实现两种标准之间的转换呢,有,babel。 好,既然用到babel,那么第一步肯定要在项目中安装babel。安装的方法可参照点击打开链接 npm i

探索PDF的奥秘:pdfrw库的神奇之旅

文章目录 探索PDF的奥秘:pdfrw库的神奇之旅背景:为何选择pdfrw?pdfrw是什么?如何安装pdfrw?五个简单的库函数使用方法场景应用:pdfrw在实际工作中的应用常见问题与解决方案总结 探索PDF的奥秘:pdfrw库的神奇之旅 背景:为何选择pdfrw? 在数据处理的世界中,PDF文件因其格式的稳定性和广泛兼容性而备受青睐。然而,处理PDF文件往往需要专

【Linux】Linux命令行大冒险:寻找、搜索与压缩的神奇之旅

欢迎来到 CILMY23 的博客 🏆本篇主题为:Linux命令行大冒险:寻找、搜索与压缩的神奇之旅 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C++ | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法专题 | 代码训练营 🏆感谢观看,支持的可以给个一键三连,点赞收藏+评论。如果你觉得有帮助,还可以点点关注 前言: 我们也

探索Python数据持久化的秘密:ZODB库的神奇之旅

文章目录 探索Python数据持久化的秘密:ZODB库的神奇之旅背景ZODB是什么?如何安装ZODB?简单库函数使用方法场景应用常见Bug及解决方案总结 探索Python数据持久化的秘密:ZODB库的神奇之旅 背景 在Python的广阔世界中,数据持久化是一个不可或缺的需求。无论是为了保存应用程序的状态,还是为了在多个会话之间共享数据,我们都需要一种可靠的方法来存储和

JS设计模式之“神奇的魔术师” - 简单工厂模式

引言 在JavaScript开发中,我们经常需要创建和管理各种对象,而简单工厂模式就是一种最简单的用来创建对象的设计模式。 简单工厂模式通过一个工厂类来创建相似的对象,而无需直接使用具体类来实例化对象。这样可以将对象的创建过程与使用过程分离,提供了更好的灵活性和可维护性。 在本篇文章中,我将为您讲解以下内容: 什么是简单工厂模式?它的基本思想和原理是什么? 如何在JavaScr