题目大意:

给你一个字符串,让你遍历每一个字符,对于一个字符 s,有以下几种情况:

  1. s 为字符 -:将答案减
  2. s 为字符 *:将答案减

现在要求答案什么时候会大于等于 ,如果有某一个时刻会,就输出 YES,否则输出 NO

解题思路:

考虑模拟。

可以遍历每一个字符,然后像“题目大意”的方法模拟,最后判断并输出。

AC 代码:

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;
}