CF1579A
\(Update 2021.10.8:\)使用了\(\LaTeX\)
分析题意:
字符串 \(S\) 中只有 \(A\) \(B\) \(C\) 三种字符
删除 \(A\) 时必须同时删除 \(B\)
删除 \(C\) 时也必须同时删除 \(B\)
因此,删除 \(A\) 和 \(C\) 的总个数就等于删除 \(B\) 的个数
解法:
想要让字符串为空,就必须在删干净 \(A\) 和 \(C\) 的同时也删干净 \(B\)
也就是说,只有在 \(A\) 和 \(C\) 的总个数恰好等于 \(B\) 的个数时,才能删干净
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;int n;
cin>>n;
while(n--){
cin>>s;
int a=0,b=0;
for(auto i:s)
if(i=='B')b++;//统计'B'的个数
else a++;//其余的都是'A'和'C'
if(b==a)puts("YES");
else puts("NO");
}
return 0;
}

浙公网安备 33010602011771号