A. Channel

news2024/9/23 11:22:01

题目:样例:

输入
4
5 5 3
--+
5 2 3
++-
5 4 2
-+
5 0 7
++++-++

输出
YES
NO
MAYBE
YES

题意:

        给出 目的人数n看到通告的数量,初始人数m上线的数量,通知系统上线q条消息,‘-’表示有人下线,‘+’表示有人上线。请输出是否可以有 n 个人看到消息,有输出 YES,可能有 输出 MAYBE,没有输出NO;

思路:

        思维题,模拟变化过程,这里注意的是,通知消息中,会存在某一时刻最好的结果,达到 目标n 个人看到消息,所以特判YES,以及一开始全部人看到消息又要特判YES,最后 理想情况加上初始上线人数 m,如果 >= n 了,那么有可能全部看到了,否则没有。

代码详解如下:

#include <iostream>
#include <unordered_map>
#define endl '\n'
#define YES puts("YES")
#define NO puts("NO")
#define MAYBE puts("MAYBE")
#define umap unordered_map
#pragma GCC optimize(3,"Ofast","inline")
#define ___G std::ios::sync_with_stdio(false),cin.tie(0), cout.tie(0)
using namespace std;
const int N = 2e6 + 10;
int n,m,q;
string s;
inline void solve()
{
	// 观看变化情况
	bool vis = false;
	
	cin >> n >> m >> q;
	getchar();	
	getline(cin,s);
	if(m >= n)
	{
		YES;
		return ;
	}
	
	// 查看通知数量的变化情况
	int r = 0;	
	
	int up = 0;	// 查看通知消息中上线的人数
	
	for(int i = 0;i < q;++i)
	{
		if(s[i] == '+')
		{
			++r;
			++up;
		}
		else --r;
		
		// 如果在某一刻,满足了全部人看到通告
		// 那么一定是 YES
		if(r + m >= n)
		{
			vis = true;			
		}
	}
	// 根据通知状态变化的实际上线 ,最后加上初始上线人数
	// 某一刻如果大于或者等于 n 说明一定可以全部看到公告
	if(vis)
	{
		YES;
		return ;
	}	
	
	// 如果最好的情况上线,最后加上初始上线人数
	// 如果大于或者等于 n 说明可能可以全部看到公告
	if(m + up >= n)
	{
		MAYBE;
		return ;
	}
	
	NO;	
}


int main()
{
//	freopen("a.txt", "r", stdin);
	int _t = 1;
	cin >> _t;
	while (_t--)
	{
		solve();
	}

	return 0;
}

最后提交:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/958882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

京东API接口解析,实现按关键字搜索商品

京东开放平台提供了丰富的API接口&#xff0c;用于查询商品、用户、订单等信息。以下是一个基本的示例&#xff0c;解析并实现按关键字搜索商品的API接口。 需要访问京东开放平台并注册一个开发者账号。注册完成后&#xff0c;你需要创建一个应用并获取到API的权限。 在获取到…

不看过程看结果 Web3最霸道架构Intent- Centric能解决啥?

开源区块链网络以太坊诞生的8年里&#xff0c;涌现出不计其数的竞争链&#xff0c;同时也为金融、游戏等场景的链上应用发展奠定了底层基础。唯一令人遗憾的是&#xff0c;8年了&#xff0c;绝大多数互联网用户还是摸不到以区块链为底层的Web3大门。 有数据显示&#xff0c;总…

亚马逊测评的风控挑战与解决方案

做跨境电商测评自养号测评的都知道&#xff0c;亚马逊平台是所有跨境平台中风控最严的&#xff0c;做亚马逊测评实操遇到过各种问题&#xff0c;比如&#xff1a;取消订单&#xff08;砍单&#xff09;、掉评、账号批量被封等等 其实这些问题除了亚马逊自身的风控&#xff0c;…

真香:Alibaba开源GitHub星标100K微服务架构全彩进阶手册

前言&#xff1a; 微服务架构作为一种高效灵活的应用架构&#xff0c;正在成为企业级应用开发的主流选择。在众多的微服务架构指南中&#xff0c;阿里巴巴开源的GitHub微服务架构全彩进阶手册备受瞩目&#xff0c;其100star更是证明了其在开发者社区中的重要地位。 这本手册汇…

微服务演变及怎么拆分微服务

微服务演变 ⼀、微服务演变过程 版本1.0 ⼏年前&#xff0c;⼩明和⼩⽪⼀起创业做⽹上超市。⼩明负责程序开发&#xff0c;⼩⽪负责其他事宜。当时互联⽹还不发 达&#xff0c;⽹上超市还是蓝海。只要功能实现了就能随便赚钱。所以他们的需求很简单&#xff0c;只需要⼀个⽹站…

一文5000字从0到1使用Jmeter实现轻量级的接口自动化测试(图文并茂)

接口测试虽然作为版本的一环&#xff0c;但是也是有一套完整的体系&#xff0c;有接口的功能测试、性能测试、安全测试&#xff1b;同时&#xff0c;由于接口的特性&#xff0c;接口的自动化低成本高收益的&#xff0c;使用一些开源工具或一些轻量级的方法&#xff0c;在测试用…

文心一言 VS 讯飞星火 VS chatgpt (84)-- 算法导论8.2 1题

一、用go语言&#xff0c;参照图8-2 的方法&#xff0c;说明 COUNTING-SORT 在数组 A(6&#xff0c;0&#xff0c;2&#xff0c;0&#xff0c;1&#xff0c;3&#xff0c;4&#xff0c;6&#xff0c;1&#xff0c;3&#xff0c;2)上的操作过程。 文心一言&#xff1a; Counti…

2023-8-31 有边数限制的最短路(bellman-ford)

题目链接&#xff1a;有边数限制的最短路 #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 510, M 10010;int n, m, k; int dist[N], backup[N];// 存放边的信息 struct Edge {int a, b, w; }edges[M];void …

mysql group by 字段 与 select 字段

表数据如下&#xff1a; 执行SQL语句1&#xff1a; SELECT * FROM z_course GROUP BY NAME,SEX 结果&#xff1a; 执行SQL语句2&#xff1a; SELECT * FROM z_course GROUP BY NAME sql 1 根据 name&#xff0c;sex 两个字段分组&#xff0c;查询 所有字段&#xff0c;返回结…

GitHub打不开解决方法——授人以渔

打不开GitHub的原因之一&#xff0c;DNS地址解析到了无法访问的ip。&#xff08;为什么无法访问&#xff1f;&#xff09; 1、打开GitHub看是哪个域名无法访问&#xff0c;F12一下 2、DNS解析看对应的域名目前哪个IP可以访问 DNS解析的网址&#xff1a; &#xff08;1&#x…

OpenBSD新版将增加KARL功能:重启换内核

在 OpenBSD 的测试快照中加入了一个新的功能&#xff0c;每次当 OpenBSD 用户重启或升级计算机时都会创建一个独特的内核。该功能被称之为 KARL&#xff08;内核地址随机化链接Kernel Address Randomized Link&#xff09;&#xff0c;即以随机的顺序重新链接其内部的内核文件&…

深度学习技巧应用26-CNN中多种注意力机制的嵌入方法,终于搞懂注意力机制了

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用26-CNN中多种注意力机制的嵌入方法,终于搞懂注意力机制了。CNN是一种能够有效处理图像和其他二维数据的深度学习模型。在传统的CNN中,每个卷积核都会对输入的所有位置进行相同的操作,这可能导致网络无法针对特定区域…

Oracle中LEFT JOIN后AND与WHERE的异同

1、AND 过滤之后再连接 2、WHERE 连接之后再过滤 下面以具体例子来说明&#xff1a; (1)、建表及插入测试数据 --建测试表 create table FACT_TAB ( ID INTEGER,STATUS VARCHAR2(8) ); create table DIM_STATUS ( STSTUS_CLASS VARCHAR2(8),STATUS_CODE VARCHAR2(8),S…

VMware tools的安装以及按钮灰色的解决方法

VMware tools的安装 ** 注意&#xff1a;** 新版本的 VMware 会自动安装的 VMware tools&#xff0c;如何测试 VMware tools 呢&#xff1f;在Windows 系统里复制一段话&#xff0c;能粘贴到 Ubuntu 系统里终端里&#xff0c;说明 VMware tools 已经安装了。 没有安装的请参考…

聚观早报|阿维塔完成B轮融资;文心一言向全社会开放

【聚观365】9月1日消息 阿维塔完成B轮融资 文心一言向全社会开放 长安汽车上半年销量超121万辆 北京工人体育场5G超级网络启用 挚文集团Q2净利润5.684亿元 阿维塔完成B轮融资 日前&#xff0c;阿维塔科技宣布完成B轮融资&#xff0c;募集资金30亿元&#xff0c;投后估值近…

指针:程序员的望远镜

指针 1. 前言2. 指针概述2.1 内存与地址2.2 取地址2.3 指针是什么&#xff1f;2.4 解引用&#xff08;间接访问&#xff09;2.5 指针的大小 3. 指针类型的作用3.1 指针-整数3.2 指针的解引用 4. 野指针4.1 野指针成因4.2 如何规避野指针 5. 指针运算5.1 指针-整数5.2 指针-指针…

若依后台管理系统学习

前端系统是指运行在浏览器或者移动设备上的用户界面层&#xff0c;它负责与用户交互&#xff0c;展示数据&#xff0c;调用后端服务等。前端系统的架构设计需要考虑以下几个方面&#xff1a; 前端系统在整个系统中的位置和关系&#xff1a;你需要明确前端系统与后端服务&#…

GE IS200JPDDG1AAA输入模块

多通道输入&#xff1a; IS200JPDDG1AAA 可能具有多个输入通道&#xff0c;允许连接多个传感器或信号源。 信号类型&#xff1a; 这个模块通常支持不同类型的输入信号&#xff0c;包括模拟信号和数字信号。 高精度&#xff1a; 输入模块通常具有高精度的信号测量能力&#xf…

Dialog 的标题title属性用slot实现。(复制功能)

当你的标题内容需要一些除了文字以外的功能&#xff0c;比如复制按钮&#xff0c;那么就需要用slot传入。 文档中是这么写的&#xff1a; 举例&#xff1a; <span slot"title" class"whitelist-title"><span> {{ whitelistId }} </span&g…

亚马逊、速卖通如何批量养号?自养号测评对卖家有哪些好处?

测评养号就是自己用真实环境养出来的买家账号。通过国外的邮箱、手机号码和注册当地真实收货地址&#xff0c;包括当地的国外住宅专线IP、国外真实虚拟信用卡等等&#xff0c;不过很多卖家也没有完全认清自养号的好处。那么测评自养号对卖家有哪些好处&#xff1f; 1、不用担心…