test 3 wrong answer expected NO, found YES [777th token]
求一组 hack 数据
#include<bits/stdc++.h>
using namespace std;
string s,ans;
int n,up,lup,down;
/*
up 上升的个数
donw 下降/不合法的个数
lup 必须保留的合法个数
*/
int main(){
int T;cin>>T;
while(T--){
cin>>s;
n=s.length();
ans="YES";lup=-2;
up=0;down=0;
for(int i=0;i<n;i++){
if(s[i]=='+') {
if(!down) up++,lup++;
else down++;
}
else if(s[i]=='-'){
if(down) down--;
else up--,lup--;
}else if(s[i]=='1'){
if(down){
ans="NO";
break;
}
lup=up;
}else{
if(!down){
up--;
down++;
}
if(up<lup){
ans="NO";
break;
}
if(up+down<=1){
ans="NO";
break;
}
}
if(up+down<0){
ans="NO";
break;
}
}
cout<<ans<<endl;
}
return 0;
}