セキュリティ 题解

题目传送门

题目大意

房间原有 \(A\) 人, + 表示进来一个人,- 表示出去一个人;求是否有一个时间,房间内的人数为 \(0\)

解题思路

按题意进行模拟:

首先判断 \(A\) 是否等于零,是就可以直接输出 Yes,不是就要进行下面的操作;

  • 如果是 +,人数就加一,如果是 -,人数就减一。

如果到最后全部都操作完一遍后,\(A\) 还是不等于 \(0\),那就只能输出 No,否则输出 Yes

代码

#include<bits/stdc++.h>
using namespace std;
int n;
string s;
int main(){
	cin>>n>>s;
	for(int i=0;i<s.size();i++){ //循环从0开始
		if(!n){
			cout<<"Yes";
			return 0;
		}
		if(s[i]=='+') n++;
		else n--;
	}
	if(!n) cout<<"Yes";
	else cout<<"No";
	return 0;
}
posted @ 2022-12-25 14:52  Ggsddu_zzy  阅读(11)  评论(0编辑  收藏  举报