题目大意:
给你一个字符串,让你遍历每一个字符,对于一个字符 s
,有以下几种情况:
s
为字符-
:将答案减。
s
为字符*
:将答案减。
现在要求答案什么时候会大于等于 ,如果有某一个时刻会,就输出
YES
,否则输出 NO
。
解题思路:
考虑模拟。
可以遍历每一个字符,然后像“题目大意”的方法模拟,最后判断并输出。
AC 代码:
#include<bits/stdc++.h>
#define int long long
using namespace std;
string s;
int sum = 1;
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> s; //输入。
int l = s.length();
for(int i = 0 ; i < l ; i++){//模拟过程
if(s[i] == '-'){
sum -= 1;
}else{
sum *= 2;
}
if(sum >= 2025){
cout << "YES";//如果可以,就输出 YES。
return 0;
}
}
cout << "NO";//否则输出 NO。
return 0;
}