Channel
题意翻译
#### 题目描述
Petya 是一个通信应用中一个频道的管理员。总共有 $n$ 个人订阅了他的频道,而 Petya 本身并不算作一个订阅者。
Petya 在频道上发布了一条新的帖子。在发布时,有 $a$ 个订阅者在线。我们假设如果一个订阅者在线,那他们就会阅读频道上的所有帖子。
此后,Petya 开始监测订阅者在线人数的变化。他连续收到 $q$ 个形如“一个订阅者下线了”或“一个订阅者上线了”的通知。Petya 不知道具体是哪个订阅者上下线了。保证这样的通知序列是合理存在的。
Petya 想知道是否所有订阅者都阅读了这条新帖子。请帮助他判断以下情况之一:
+ 不可能所有n个订阅者都阅读了这条新帖子;
+ 可能所有n个订阅者都阅读了这条新帖子;
+ 保证所有n个订阅者都阅读了这条新帖子。
#### 输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 $t(1\le t\le500)$。以下是 $t$ 个测试用例的描述。
每个测试用例的第一行包含三个整数 $n$、$a$ 和 $q(1\le n\le100,0\le a\le n,1\le q\le100)$——订阅者总数、初始在线订阅者数和通知数量。
每个测试用例的第二行包含一个长度为 $q$ 的字符串,由字符 `+` 和 `-` 组成。其中第 $i$ 个字符是 `+` 表示第 $i$ 个通知是订阅者上线,否则表示其下线。
#### 输出格式
对于每个测试用例,输出一行 `YES`,如果保证所有 $n$ 个订阅者都阅读了这条新帖子;`NO`,如果不可能所有 $n$ 个订阅者都阅读了这条新帖子;`MAYBE`,其他情况。
Translated By @[ZeXic_B](https://www.luogu.com.cn/user/661274)
题目描述
Petya is an administrator of a channel in one of the messengers. A total of $ n $ people are subscribed to his channel, and Petya is not considered a subscriber.
Petya has published a new post on the channel. At the moment of the publication, there were $ a $ subscribers online. We assume that every subscriber always reads all posts in the channel if they are online.
After this, Petya starts monitoring the number of subscribers online. He consecutively receives $ q $ notifications of the form "a subscriber went offline" or "a subscriber went online". Petya does not know which exact subscriber goes online or offline. It is guaranteed that such a sequence of notifications could have indeed been received.
Petya wonders if all of his subscribers have read the new post. Help him by determining one of the following:
- it is impossible that all $ n $ subscribers have read the post;
- it is possible that all $ n $ subscribers have read the post;
- it is guaranteed that all $ n $ subscribers have read the post.
输入输出格式
输入格式
Each test contains multiple test cases. The first line contains the number of test cases $ t $ ( $ 1 \le t \le 500 $ ). The description of the test cases follows.
The first line of each test case contains three integers $ n $ , $ a $ , and $ q $ ( $ 1 \le n \le 100 $ , $ 0 \le a \le n $ , $ 1 \le q \le 100 $ ) — the number of subscribers of the channel, the initial number of subscribers online, and the number of notifications.
The second line of each test case contains a string of length $ q $ , consisting of characters '+' and '-'. The $ i $ -th of these characters is '+', if the $ i $ -th notification tells that a subscriber goes online, and it is '-' otherwise.
输出格式
For each test case, output a single line: "YES" if all $ n $ subscribers are guaranteed to have read the post, "NO" if it is impossible for all $ n $ subscribers to have read the post, and "MAYBE" otherwise.
输入输出样例
输入样例 #1
4
5 5 3
--+
5 2 3
++-
5 4 2
-+
5 0 7
++++-++
输出样例 #1
YES
NO
MAYBE
YES
说明
In the first test case, there are $ 5 $ out of $ 5 $ subscribers online in the very beginning, so they will all read the post no matter what. The answer is "YES".
In the second test case, the number of subscribers online becomes $ 4 $ after the first two notifications, next someone goes offline, and thus the fifth subscriber has no chance of reading the post. It is impossible for all the subscribers to read the post, so the answer is "NO".
In the third test case, on the one hand, the same person may have gone offline and online (in this case only $ 4 $ out of $ 5 $ subscribers have read the post), on the other hand, the last notification may have told that the fifth subscriber has gone online (in this case all subscribers have read the post). We cannot deduce which of the two holds, so the answer is "MAYBE".
In the fourth test case, there have to be five subscribers online after all the notifications. All of them will read the post, so the answer is "YES".