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 @   untitled0  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示