这道题我想的是,查看当前字符串0与1的个数,只能目前0的个数大于等于1的个数,当然最后0的个数只能等于1的个数。
就是只有两种情况嘛,0000...1111...或者010101
#include<iostream>
using namespace std;
string s;
int a;
int b;
bool ok=false;
int main(){
cin>>a;
while(a--){
cin>>s;
b=0;
ok=false;
for(int i=0;i<s.length();i++){
if(s[i]=='0'){
b++;
}
else{
b--;
}
if(b<0){
ok=true;
break;
}
}
if(ok==false)
cout<<"YES"<<endl;
else{
cout<<"NO"<<endl;
}
}
return 0;
}