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

posted @ 2023-04-24 19:32  untitled0  阅读(28)  评论(0)    收藏  举报